Udostępnij przez


Jak Łączenie warunków, kiedy lub ma pierwszeństwo (Visual Database Tools)

Aby połączyć warunki za pomocą operatora OR i nadać im priorytet nad warunków połączonych operatorem AND, należy powtórzyć warunek AND dla każdego warunku OR.

Załóżmy, że chcesz wyszukać wszystkich pracowników, którzy pracują w firmie ponad pięć lat i niższych stanowiskach lub odeszli.Kwerenda ta wymaga trzech warunków, połączyć dwa dodatkowe warunki z pojedynczego warunku AND:

  • Pracownicy, których data zatrudnienia wcześniej niż pięć lat temu i

  • Pracownicy o stanowisku poziom 100 lub których stan to "R" e (na emeryturze).

W poniższej procedurze pokazano, jak utworzyć ten typ kwerendy w okienku kryteriów.

Aby łączyć warunki, kiedy lub ma pierwszeństwo

  1. W Okienko kryteriów, dodawane są kolumny danych, którą chcesz przeszukać.Jeśli chcesz przeszukać, w tym samym za pomocą kolumna dwóch lub większej liczby warunków połączonych operatorem AND, należy dodać nazwę kolumna danych do siatki każdorazowo dla każdej wartości, które chcesz przeszukać.

  2. Utwórz warunki, które mają być połączone z lub wpisując pierwszy z nich do Filtr kolumna w siatce i drugi (i kolejne pozycje) do oddzielnych Lub... kolumna.Na przykład, aby połączyć warunki za pomocą operatora OR przeszukujące job_lvl i status kolumna, należy wprowadzić = 100 w Filtr kolumnajob_lvl i = 'R' w Lub... kolumnastatus.

    Wprowadzanie wartości w siatce tworzy w instrukcja w okienku SQL następującej klauzula WHERE:

    WHERE (job_lvl = 100) OR (status = 'R')
    
  3. Utwórz warunek AND, wprowadzając je raz dla każdego warunku OR.Umieść każdy wpis w tej samej kolumnie siatki, co odpowiadający mu warunek OR.Na przykład, aby dodać warunek AND przeszukujący hire_date kolumna i ma zastosowanie dla obu warunków OR, wprowadź < '1/1/91' kolumna kryteria, Lub... kolumna.

    Wprowadzanie wartości w siatce tworzy w instrukcja w okienku SQL następującej klauzula WHERE:

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

    Porada

    Warunek AND można powtarzać, dodając go raz, a następnie za pomocą Wytnij and Wklej poleceń z Edytowanie menu, aby powtarzać go dla innych warunków OR.

Klauzula WHERE utworzona przez kwerendę i projektanta widoku jest równoznaczna z następującą klauzulą WHERE, w której użyte są nawiasy w celu określenia priorytetu OR nad AND:

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

Uwaga

Jeśli użytkownik wprowadzi warunki wyszukiwania w formacie pokazanym powyżej w Okienko SQL, ale następnie marka zmiany do kwerendy w okienku Diagram lub kryteria, kwerendę i projektanta widoku ponownie utworzy instrukcję SQL, aby odpowiadała formularzowi z warunkiem and dla obu warunków OR.