Hallo Michael, hallo Liste,

@Michael:
> WHERE ((A like '*hans*') OR
>        (A like '*fritz*') OR
>        (A like '*paul*')) 
>   AND X NOT like '*gelöscht*'

genau so hatte ich es in SQL codiert; beim Umschalten in die Designansicht 
macht OOo daraus aber das andere Konstrukt (wahrscheinlich, weil dies in der 
"Formular-Ansicht" des designers nicht anders abbildbar ist).

> WHERE (A like '*hans*'  AND NOT X like '*gelöscht*') OR (A like '*fritz*'  
> AND NOT X like '*gelöscht*') OR (A like '*paul*') AND NOT X like '*gelöscht*')

@all:
Für alle, die diesen Thread verfolgen und selbst gespannt auf die Lösung sind:
Ich bin offensichtlich einen Schritt weiter, allerding ist das eher kurios als 
logisch:

 - eine meiner 3 konkreten Vergleiche für die Spalte, die ich hier "A" nenne, 
lautet LIKE '%KT\PGR%' (also alles, was in irgendeiner Form den String KT\PGR 
enthält
 - der Vergleich macht in der handgeschriebenen Variante (SQL) offenbar kein 
Problem.
 - in der durch den Designer umgestellten Variante wir offenbar das enthaltene 
\P zum Problem
 - maskiere ich den Backslash (\\P) im String, bekomme ich mein Ergebnis 
wieder!!!

Komisch - aber hilfreich.

Grüße, Marcus

-----Ursprüngliche Nachricht-----
Von: "Michael Habbe" <[EMAIL PROTECTED]>
Gesendet: 27.06.08 16:31:08
An: [email protected]
Betreff: Re: [de-users] Abfragengenerator unter OOo 1.x (Datenquellen)

Hallo Marcus,

ich habe nun kein OOo 1.x mehr im Betrieb, habe aber einen Vorschlag für 
Deinen SQL.

Marcus Hoffmann schrieb:
> Was ich brauche:
>  - Merkmal  1 in Spalte A oder Merkmal 2 in Spalte A oder Merkmal 3 in Spalte 
> A
>  - aber NICHT Merkmal 4 in Spalte X
>
> [WHERE (A like '*hans*' OR A like '*fritz*' OR A like '*paul*') AND NOT X 
> like '*gelöscht*']
>
> Ich gebe das über die SQL-Ansicht ein, führe die Abfrage direkt aus - und es 
> funktioniert.
>
> Wechsle ich wieder in die Designer-Ansicht, wird meine Abfrage intern 
> umformuliert in
> [WHERE (A like '*hans*'  AND NOT X like '*gelöscht*') OR (A like '*fritz*'  
> AND NOT X like '*gelöscht*') OR (A like '*paul*') AND NOT X like 
> '*gelöscht*')]
> (wahrscheinlich kann der designer das sonst nicht anders darstellen)
Du musst wahrscheinlich Dein Konstrukt komplett überarbeiten, da die 
Rangfolge der Operatoren eine Rolle spielt. Danach scheint jedenfalls 
der Designer den SQL umzusetzen. Auch wenn das Ergebnis augenscheinlich 
das Gleiche ist.

http://www.sql-und-xml.de/server-daten/sql-befehle/operatoren.html
Absatz 4. Rangfolge der Operatoren 

Hiernach würde es dann so aussehen:

WHERE ((A like '*hans*') OR
       (A like '*fritz*') OR
       (A like '*paul*')) 
  AND X NOT like '*gelöscht*'


Hoffe, das hilft weiter.

Gruß
Michael 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an