Freigeben über


Kombinieren von Bedingungen, wenn OR Vorrang hat (Visuelle Datenbanktools)

Gilt für:SQL Server-

Um Bedingungen mit OR zu verknüpfen und ihnen Vorrang vor Bedingungen zu geben, die mit AND verknüpft sind, müssen Sie die AND-Bedingung für jede OR-Bedingung wiederholen.

Stellen Sie sich beispielsweise vor, dass Sie alle Mitarbeiter finden möchten, die seit mehr als fünf Jahren im Unternehmen tätig sind und untergeordnete Positionen innehaben oder im Ruhestand sind. Diese Abfrage erfordert drei Bedingungen, eine einzelne Bedingung, die mit zwei zusätzlichen Bedingungen mit AND verknüpft ist:

  • Mitarbeiter mit einem Einstellungsdatum vor mehr als fünf Jahren und

  • Mitarbeiter, die eine Stellenstufe von 100 haben oder deren Status "R" (im Ruhestand) ist.

Das folgende Verfahren veranschaulicht, wie Sie diesen Abfragetyp im Kriterienbereich erstellen.

So kombinieren Sie Bedingungen, wenn die OR-Bedingung Vorrang hat

  1. Fügen Sie im Bereich Kriteriendie zu durchsuchenden Datenspalten hinzu. Wenn Sie dieselbe Spalte mit zwei oder mehr Bedingungen durchsuchen möchten, die mit AND verknüpft sind, müssen Sie den Datenspaltennamen einmal für jeden Wert hinzufügen, den Sie durchsuchen möchten.

  2. Erstellen Sie die Bedingungen, die mit OR verknüpft werden sollen, indem Sie die erste Bedingung in die Filter-Spalte eintragen und die zweite (und die nachfolgenden Bedingungen) in separate Oder... Spalten eingeben. Wenn Sie beispielsweise Bedingungen mit OR verknüpfen möchten, die die spalten job_lvl und status durchsuchen, geben Sie = 100 in die Spalte Filter für job_lvl ein und = 'R' in der Oder... Spalte für status.

    Wenn Sie diese Werte in das Raster eingeben, wird die folgende WHERE-Klausel in der Anweisung im SQL-Bereich erzeugt:

    WHERE (job_lvl = 100) OR (status = 'R')  
    
  3. Erstellen Sie die AND-Bedingung, indem Sie sie einmal für jede OR-Bedingung eingeben. Platzieren Sie jeden Eintrag in derselben Rasterspalte wie die OR-Bedingung, der sie entspricht. Wenn Sie beispielsweise eine AND-Bedingung hinzufügen möchten, die die hire_date Spalte durchsucht und für beide OR-Bedingungen gilt, geben Sie < '1/1/91' sowohl in der Spalte "Kriterien" als auch in der "Oder" ein... Spalte.

    Wenn Sie diese Werte in das Raster eingeben, wird die folgende WHERE-Klausel in der Anweisung im SQL-Bereich erzeugt:

    WHERE (job_lvl = 100) AND   
      (hire_date < '01/01/91' ) OR  
      (status = 'R') AND   
      (hire_date < '01/01/91' )  
    

    Trinkgeld

    Sie können eine AND-Bedingung wiederholen, indem Sie sie einmal hinzufügen und dann die Befehle Ausschneiden und Einfügen aus dem Menü Bearbeiten verwenden, um sie bei anderen OR-Bedingungen zu wiederholen.

Die where-Klausel, die vom Abfrage- und Ansichts-Designer erstellt wird, entspricht der folgenden WHERE-Klausel, die Klammern verwendet, um die Rangfolge von OR über AND anzugeben:

WHERE (job_lvl = 100 OR status = 'R') AND  
   (hire_date < '01/01/91')  

Anmerkung

Wenn Sie die Suchbedingungen in das format eingeben, das unmittelbar oben im SQL Paneangezeigt wird, aber dann eine Änderung an der Abfrage im Bereich "Diagramm" oder "Kriterien" vornehmen, erstellt der Abfrage- und Ansichts-Designer die SQL-Anweisung neu, um dem Formular mit der AND-Bedingung zu entsprechen, die explizit an beide OR-Bedingungen verteilt wird.

Siehe auch

Konventionen zum Kombinieren von Suchbedingungen im Kriterienbereich (Visuelle Datenbanktools)
Suchkriterien angeben (visuelle Datenbanktools)