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
Employees with a job level of 100 or whose status is "R" (for retired).
Poniższa procedura ilustruje sposób tworzenia tego typu zapytania w okienku Kryteria.
To combine conditions when OR has precedence
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ć.
Create the conditions to be linked with OR by entering the first one into the Filter grid column and the second (and subsequent ones) into separate Or... columns. For example, to link conditions with OR that search the
job_lvl
andstatus
columns, enter= 100
in the Filter column forjob_lvl
and= 'R'
in the Or... column forstatus
.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. Place each entry in the same grid column as the OR condition it corresponds to. 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' )
Tip
You can repeat an AND condition by adding it once, and then using the Cut and Paste commands from the Edit menu to repeat it for other OR conditions.
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
If you enter the search conditions in the format shown immediately above in the SQL Pane, but then make a change to the query in the Diagram or Criteria panes, the Query and View Designer recreates the SQL statement to match the form with the AND condition explicitly distributed to both OR conditions.
Zobacz też
Conventions for Combining Search Conditions in the Criteria Pane (Visual Database Tools)
Określanie Kryteriów Wyszukiwania (Visual Database Tools)