Axel Richter: einfaches SELECT Statement

Beitrag lesen

Hallo,

SELECT UID FROM Archiv WHERE CDNummer=10 OR CDNummer=9 OR CDNummer=6 OR CDNummer=4 OR CDNummer=3 OR CDNummer=2 OR CDNummer=1 AND Dateipfad LIKE '%logo%' OR Dateiname LIKE '%logo%'
SELECT UID FROM Archiv WHERE CDNummer IN (10,9,6,4,3,2,1) AND Dateipfad LIKE '%logo%' OR Dateiname LIKE '%logo%'
wäre kürzer :-)

brächte aber nicht das selbe Ergebnis ;-))

SELECT UID FROM Archiv WHERE CDNummer=10 OR CDNummer=9 OR CDNummer=6 OR CDNummer=4 OR CDNummer=3 OR CDNummer=2 OR CDNummer=1 AND Dateipfad LIKE '%logo%' OR Dateiname LIKE '%logo%'

ist wegen der höherwertigen Operatorrangfolge von AND gegenüber OR wie

SELECT UID FROM Archiv WHERE CDNummer=10 OR CDNummer=9 OR CDNummer=6 OR CDNummer=4 OR CDNummer=3 OR CDNummer=2 OR
(CDNummer=1 AND Dateipfad LIKE '%logo%')
OR Dateiname LIKE '%logo%'

zu lesen.

Dein Vorschlag entspräche:

SELECT UID FROM Archiv WHERE
(CDNummer=10 OR CDNummer=9 OR CDNummer=6 OR CDNummer=4 OR CDNummer=3 OR CDNummer=2 OR CDNummer=1)
AND Dateipfad LIKE '%logo%' OR Dateiname LIKE '%logo%'

(ich weiß aber nicht, ob Access das auch versteht)

SELECT UID FROM Archiv WHERE CDNummer IN (10,9,6,4,3,2,1) AND Dateipfad LIKE '*logo*' OR Dateiname LIKE '*logo*'

würde es verstehen ;-))

viele Grüße

Axel