HDsports 0 Geschrieben 22. März 2020 Melden Teilen Geschrieben 22. März 2020 Hallo, ich habe bei folgendem SQL Befehl ein kleines Problem: UPDATE `ngie_jreviews_content` SET `jr_datum2021` = '2021-01-06 00:00:00', `jr_termin2021offen` = '*ja*' WHERE `jr_datum2021` = '0000-00-00*' AND `jr_datum2020` = '2020-01-06*' AND `jr_land` = '*deutschland*' OR = '*schweiz*' OR '*österreich*'; Es geht um die letzte Zeile. Ich möchte das alle Zellen berücksichtigt werden, die eines der drei Länder beinhalten. Mit diesem Befehl wird allerdings immer nur das erste Land berücksichtigt. Also sagen wir in Deutschland wären es 20 in der Schweiz 10 und in Österreich fünf, dann würden nur 20 Zellen aktualisiert. Stünde Österreich ganz vorne, würden nur diese 5 Zellen aktualisiert. Wie schaffe ich es das alle 35 aktualisiert werden? LG Zitieren Link zu diesem Kommentar
Beste Lösung Dukel 451 Geschrieben 22. März 2020 Beste Lösung Melden Teilen Geschrieben 22. März 2020 Evtl. hilft "IN" https://www.w3schools.com/sql/sql_in.asp WHERE `jr_datum2021` = '0000-00-00*' AND `jr_datum2020` = '2020-01-06*' AND `jr_land` IN ('*deutschland*', '*schweiz*', '*österreich*'); Dein OR ist nicht im letzten Block enthalten sondern jeweils ein eigener Block. 1 Zitieren Link zu diesem Kommentar
HDsports 0 Geschrieben 22. März 2020 Autor Melden Teilen Geschrieben 22. März 2020 Danke. Habe mittlerweile auch die Lösung mit OR gefunden Klammern gehören dazu. ALso so ists richtig AND (`jr_land` = '*österreich*' OR `jr_land` = '*schweiz*' OR `jr_land` = '*deutschland*'); Zitieren Link zu diesem Kommentar
zahni 550 Geschrieben 23. März 2020 Melden Teilen Geschrieben 23. März 2020 "IN" ist hier aber sinnvoller. Ich weis gerade nicht, was der SQL-Server bei Wildcards macht. Standard ist aber "%" als Wildcard. Beachte auch, dass SQL-Server bei einem führenden Wildcard u.U. keine Index-Suche machen können. Bei großen Tabellen sollten diese Parameter vermieden werden. Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 3. April 2020 Melden Teilen Geschrieben 3. April 2020 Hallo MS SQL verwendet % als Wildcard und Filterkriterium IN akzeptiert keine Wildcards dazu müsste ein LIKE verwendet werden. Gruß MDD 1 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.