Kombinieren von Bedingungen, wenn OR Vorrang hat (Visual Database Tools)
Gilt für: SQL Server
Wenn die mit OR verbundene Bedingungen den Vorrang vor den mit AND verbundenen Bedingungen haben sollen, muss die AND-Bedingung für jede OR-Bedingung wiederholt werden.
Angenommen, Sie möchten alle Mitarbeiter suchen, die der Firma seit mehr als fünf Jahren angehören und gering qualifizierte Tätigkeiten auf unterer Betriebsebene ausführen oder im Ruhestand sind. Diese Abfrage erfordert drei Bedingungen: eine einzelne Bedingung, die mit zwei weiteren Bedingungen durch AND verknüpft ist:
Mitarbeiter, deren Einstellungsdatum mehr als fünf Jahre zurückliegt und
Mitarbeiter mit einer Tätigkeitsstufe von 100 oder Mitarbeiter, deren Status "R" (Ruhestand) ist.
Das folgende Verfahren illustriert die Erstellung einer derartigen Abfrage im Kriterienbereich.
So kombinieren Sie Bedingungen, wenn OR Vorrang hat
Fügen Sie dem Kriterienbereichdie Datenspalten hinzu, die durchsucht werden sollen. Wenn Sie dieselbe Spalte nach zwei oder mehr mit AND verbundenen Bedingungen durchsuchen möchten, müssen Sie den Namen der Datenspalte für jeden zu suchenden Wert einmal in das Datenblatt einfügen.
Erstellen Sie die Bedingungen, die mit OR verknüpft werden sollen, indem Sie die erste Bedingung in die Datenblattspalte Filter und die zweite (sowie alle weiteren) Bedingungen in jeweils unterschiedliche Spalten Oder... eingeben. Geben Sie
job_lvl
in die Spaltestatus
Filter= 100
für und in die Spaltejob_lvl
Oder...= 'R'
für ein, um beispielsweise Bedingungen mit OR zum Durchsuchen der Spalten undstatus
zu verknüpfen.Wenn Sie diese Werte im Datenblatt eingeben, wird die folgende WHERE-Klausel in der Anweisung im SQL-Bereich erstellt:
WHERE (job_lvl = 100) OR (status = 'R')
Erstellen Sie die AND-Bedingung, indem Sie sie für jede OR-Bedingungen einmal eingeben. Nehmen Sie den Eintrag jeweils in der Datenblattspalte der entsprechenden OR-Bedingung vor. Geben Sie beispielsweise
hire_date
sowohl in die Spalte „Kriterien“ als auch in die Spalte< '1/1/91'
Oder... ein, um eine AND-Bedingung hinzuzufügen, die in der Spalte sucht und für beide OR-Bedingungen gilt.Wenn Sie diese Werte im Datenblatt eingeben, wird die folgende WHERE-Klausel in der Anweisung im SQL-Bereich erstellt:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Tipp
Sie können eine AND-Bedingung wiederholen, indem Sie sie einmal einfügen und dann mithilfe der Befehle Ausschneiden und Einfügen aus dem Menü Bearbeiten für die anderen OR-Bedingungen kopieren.
Die WHERE-Klausel, die vom Abfrage- und Sicht-Designer erstellt wird, entspricht der folgenden WHERE-Klausel, in der zum Festlegen des Vorrangs von OR vor AND Klammern verwendet werden:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Hinweis
Wenn Sie die Suchbedingungen im unmittelbar oberhalb des SQL-Bereichsangezeigten Format eingeben und dann im Diagramm- oder Kriterienbereich Änderungen an der Abfrage vornehmen, wird die SQL-Anweisung vom Abfrage- und Sicht-Designer neu erstellt, damit sie mit dem Formular übereinstimmt, das die explizit auf beide OR-Bedingungen verteilte AND-Bedingung enthält.
Weitere Informationen
Konventionen für das Kombinieren von Suchbedingungen im Kriterienbereich (Visual Database Tools)
Angeben von Suchkriterien (Visual Database Tools)