Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Aby połączyć warunki z elementem OR i podać im pierwszeństwo przed warunkami połączonymi z elementem AND, należy powtórzyć warunek AND dla każdego warunku OR.
Załóżmy na przykład, że chcesz znaleźć wszystkich pracowników, którzy byli z firmą ponad pięć lat i mają niższe miejsca pracy lub są na emeryturze. To zapytanie wymaga trzech warunków— jednego warunku połączonego z dwoma dodatkowymi warunkami z elementem AND:
Pracownicy z datą zatrudnienia wcześniej niż pięć lat temu i
Pracownicy z poziomem pracy 100 lub których stan to "R" (dla emerytowanych).
Poniższa procedura ilustruje sposób tworzenia tego typu zapytania w okienku Kryteria.
Aby połączyć warunki, gdy or ma pierwszeństwo
W okienku kryteria dodaj kolumny danych, które chcesz wyszukać. Jeśli chcesz wyszukać tę samą kolumnę przy użyciu co najmniej dwóch warunków połączonych z elementem AND, musisz dodać nazwę kolumny danych do siatki raz dla każdej wartości, którą chcesz wyszukać.
Utwórz warunki, które mają być połączone za pomocą LUB, wprowadzając pierwszy z nich do kolumny siatki Filtr, a drugi (i kolejne) do oddzielnych kolumn Lub.... Aby na przykład połączyć warunki operatorem LUB przy przeszukiwaniu kolumn
job_lvl
istatus
, wprowadź= 100
w kolumnie filtru dlajob_lvl
i= 'R'
w kolumnie Lub... kolumnie dlastatus
.Wprowadzenie tych wartości w siatce powoduje utworzenie następującej klauzuli WHERE w instrukcji w okienku SQL:
WHERE (job_lvl = 100) OR (status = 'R')
Utwórz warunek AND, wprowadzając go raz dla każdego warunku OR. Umieść każdy wpis w tej samej kolumnie siatki co warunek OR odpowiadający. Aby na przykład dodać warunek AND, który wyszukuje kolumnę
hire_date
i ma zastosowanie do obu warunków OR, wprowadź< '1/1/91'
w kolumnie Kryteria i Or... kolumnie.Wprowadzenie tych wartości w siatce powoduje utworzenie następującej klauzuli WHERE w instrukcji w okienku SQL:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Napiwek
Warunek I można powtórzyć, dodając go raz, a następnie używając poleceń Wytnij i Wklej z menu Edytuj, aby zastosować go ponownie dla innych warunków LUB.
Klauzula WHERE utworzona przez projektanta zapytań i widoków jest równoważna następującej klauzuli WHERE, która używa nawiasów w celu określenia pierwszeństwa instrukcji OR dla elementu AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Notatka
Jeśli wprowadzisz warunki wyszukiwania w formacie widocznym bezpośrednio powyżej w okienku SQL, ale następnie wprowadzisz zmianę w zapytaniu w okienku Diagram lub Kryteria, Projektant zapytań i widoków ponownie utworzy instrukcję SQL, aby dopasować formularz do warunku AND jawnie dystrybuowane do obu warunków OR.
Zobacz też
Konwencje łączenia warunków wyszukiwania w okienku kryteriów (Narzędzia Visual Database Tools)
Określanie Kryteriów Wyszukiwania (Visual Database Tools)