Kombinování podmínek, když má přednost OR (Visual Database Tools)
platí pro:SQL Server
Chcete-li propojit podmínky s operátorem OR a dát jim přednost před podmínkami propojenými s operátorem AND, je nutné opakovat podmínku AND pro každou podmínku OR.
Představte si například, že chcete najít všechny zaměstnance, kteří byli ve společnosti déle než pět let a mají pracovní místa nižší úrovně nebo jsou vyřazeni. Tento dotaz vyžaduje tři podmínky, jednu podmínku propojenou se dvěma dalšími podmínkami pomocí funkce AND:
Zaměstnanci s datem přijetí starším než před pěti lety a
Zaměstnanci s pracovní úrovní 100 nebo ti, kteří mají stav "R" (pro důchod).
Následující postup ukazuje, jak vytvořit tento typ dotazu v podokně Kritéria.
Kombinování podmínek, pokud má prioritu NEBO
V podokně Kritériapřidejte datové sloupce, které chcete hledat. Pokud chcete prohledat stejný sloupec pomocí dvou nebo více podmínek propojených s funkcí AND, je nutné přidat název datového sloupce do mřížky jednou pro každou hodnotu, kterou chcete prohledat.
Vytvořte podmínky, které se mají propojit s operátorem OR, zadáním prvního do sloupce v mřížce filtru a druhého (a následných) do samostatných sloupců Or.... Pokud chcete například propojit podmínky s použitím NEBO, které hledají ve sloupcích
job_lvl
astatus
, zadejte= 100
do sloupce Filtr projob_lvl
a= 'R'
do sloupce Nebo... prostatus
.Zadáním těchto hodnot v mřížce se v příkazu v podokně SQL vytvoří následující klauzule WHERE:
WHERE (job_lvl = 100) OR (status = 'R')
Vytvořte podmínku AND tak, že ji zadáte jednou pro každou podmínku OR. Umístěte každou položku do stejného sloupce mřížky jako odpovídající podmínku OR. Pokud chcete například přidat podmínku AND, která prohledá
hire_date
sloupec a vztahuje se na obě podmínky OR, zadejte< '1/1/91'
do sloupce Kritéria i Nebo... sloupec.Zadáním těchto hodnot v mřížce se v příkazu v podokně SQL vytvoří následující klauzule WHERE:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Spropitné
Podmínku AND můžete opakovat tak, že ji přidáte jednou a potom pomocí příkazů Vyjmout a Vložit z nabídky Upravit ji vložíte pro další podmínky typu OR.
Klauzule WHERE vytvořená návrhářem dotazu a zobrazení je ekvivalentní následující klauzuli WHERE, která používá závorky k určení priority or over AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Poznámka
Pokud zadáte podmínky hledání ve formátu uvedeném výše v podokně SQL, ale následně provedete změnu dotazu v podoknech Diagram nebo Kritéria, návrhář dotazů a zobrazení přepracuje příkaz SQL tak, aby odpovídal formuláři, přičemž podmínka AND je explicitně rozdělena do obou podmínek OR.
Viz také
Konvence pro kombinování podmínek hledání v podokně kritérií (Visual Database Tools)
Zadejte kritéria hledání (Visual Database Tools)