Ich versuche, so etwas wie diesesKomplexe SQL-WHERE-Klausel mit mehreren AND und OR Bedingung
Where (((t1.column1=value1 and t1.column2=value1) OR
(t1.column1=value2 and t1.column2=value2))
AND ((t1.column1=value3 and t1.column2=value3) OR
(t1.column1=value4 and t1.column2=value4) OR
(...)))
Wenn ich den ersten Teil der Abfrage ausführen, die mit ‚OR‘ Bedingung aus und gibt die Ergebnismenge. Wenn ich den zweiten Teil der Abfrage beginnend mit "AND" Ergebnismenge enthält ist zurückgegeben 0.
Kann jemand pls helfen, wo ich falsch liege. Dank
modifizierte Abfrage für ein besseres Verständnis
WHERE ( ( ( dataType = 'int' AND DATA = '1')
OR ( dataType = 'Integer' AND DATA = '1')
)
AND ( ( dataType = 'String' AND DATA = '17890')
OR ( dataType = 'String' AND DATA = '178postal')
)
)
... Sie bitten "t1.column1" um mindestens zwei verschiedene Werte gleichzeitig. Wie erwartest du, dass irgendwelche Zeilen dem entsprechen? – TZHX
T1.Column1 kann nicht Wert1 und Wert3 für den gleichen Datensatz sein (vorausgesetzt die Werte 1 und 3 sind tatsächlich unterschiedlich) – xQbert
Nach der Änderung zum besseren Verständnis: Sie benötigen Datentyp 'int' oder 'Integer' und ALSO zu sein 'String' auch. Macht das Sinn für dich? Sollten Sie etwas anderes als das leere Set von dieser Abfrage erhalten? – mathguy