mikexmagic
Grünschnabel
Hallo zusammen...
Ich habe eine Query erstellt mit einer Bedingung die sich über drei Spalten mit einer UND-Verknüpfung erstreckt:
Kein Problem!
jetzt soll die WHERE Klausel aber um ein oder mehrere ODER Einträge eränzt werden, etwa so:
Die OR Bereiche bekommen aber Ihrerseits die Kriterien durch eine Subquery. Diese wiederrum kann eine oder mehrere Ergebnisse beinhalten. Also mein aktueller Entwurf sieht so aus:
Innerhalb der OR-Klausel werden in zwei Kriterien jeweils SUBQUERYS aufgerufen. Beide SUBQUERYS liefern jeweils zwei Ergebnisse.
Jetzt die finale Frage:
Werden durch die AND-Verknüpfung innerhalb der OR-Klausel jeweils nur die beisen ersten Zeilen und die beiden zweiten Zeilen der SUBQUERY-Ergebnisse miteinander verglichen oder alle Zeilen mit allen Zeilen?



Wer hats verstanden und wer kanns beantworten?
Ich habe eine Query erstellt mit einer Bedingung die sich über drei Spalten mit einer UND-Verknüpfung erstreckt:
SQL:
Where
(consultants.grp_id = '1' And
qpartys.pweek >= '2014|05' And
qpartys.pweek <= '2014|30' And
qpartys.pstatus = 3)
jetzt soll die WHERE Klausel aber um ein oder mehrere ODER Einträge eränzt werden, etwa so:
SQL:
Where
(consultants.grp_id = '1' And
qpartys.pweek >= '2014|05' And
qpartys.pweek <= '2014|30' And
qpartys.pstatus = 3)
OR
(consultants.grp_id = '68' And
qpartys.pweek >= '2014|05' And
qpartys.pweek <= '2014|14' And
qpartys.pstatus = 3)
OR
(consultants.grp_id = '26' And
qpartys.pweek >= '2014|05' And
qpartys.pweek <= '2014|16' And
qpartys.pstatus = 3)
Die OR Bereiche bekommen aber Ihrerseits die Kriterien durch eine Subquery. Diese wiederrum kann eine oder mehrere Ergebnisse beinhalten. Also mein aktueller Entwurf sieht so aus:
SQL:
Where
(consultants.grp_id = 1 And
qpartys.pweek >= '2014|05' And
qpartys.pweek <= '2014|30' And
qpartys.pstatus = 3)
OR
(consultants.grp_id =
Any(Select
consultants.grp_id As promogrp
From
consultants
Where
consultants.promoweek >= '2014|05' And
consultants.promoweek < '2014|30' And
qpartys.pstatus = 3 And
consultants.promocon = 1) And
qpartys.pweek >= '2014|05' And
qpartys.pweek <
Any(Select
consultants.promoweek
From
consultants
Where
consultants.promoweek >= '2014|05' And
consultants.promoweek < '2014|30' And
qpartys.pstatus = 3 And
consultants.promocon = 1))
Innerhalb der OR-Klausel werden in zwei Kriterien jeweils SUBQUERYS aufgerufen. Beide SUBQUERYS liefern jeweils zwei Ergebnisse.
Jetzt die finale Frage:
Werden durch die AND-Verknüpfung innerhalb der OR-Klausel jeweils nur die beisen ersten Zeilen und die beiden zweiten Zeilen der SUBQUERY-Ergebnisse miteinander verglichen oder alle Zeilen mit allen Zeilen?



Wer hats verstanden und wer kanns beantworten?
Zuletzt bearbeitet von einem Moderator: