Kombinera villkor när ELLER har företräde (Visual Database Tools)
gäller för:SQL Server
Om du vill länka villkor med OR och ge dem företräde framför villkor som är kopplade till AND måste du upprepa AND-villkoret för varje OR-villkor.
Anta till exempel att du vill hitta alla anställda som har arbetat i företaget i mer än fem år och har jobb på lägre nivå eller som har gått i pension. Den här frågan kräver tre villkor, ett enda villkor som är kopplat till två ytterligare villkor med AND:
Anställda med anställningsdatum tidigare än fem år sedan, och
Anställda med en jobbnivå på 100 eller vars status är "R" (för pensionerad).
Följande procedur visar hur du skapar den här typen av fråga i fönstret Villkor.
Kombinera villkor när OR har företräde
I fönstret Villkorlägger du till de datakolumner som du vill söka efter. Om du vill söka i samma kolumn med hjälp av två eller flera villkor som är länkade till AND måste du lägga till datakolumnnamnet i rutnätet en gång för varje värde som du vill söka efter.
Skapa de villkor som ska länkas med ELLER genom att ange den första i kolumnen Filter grid och den andra (och efterföljande) i separata Eller... kolumner. Om du till exempel vill länka villkor med ELLER som söker i kolumnerna
job_lvl
ochstatus
anger du= 100
i kolumnen Filter förjob_lvl
och= 'R'
i kolumnen Eller... kolumn förstatus
.Om du anger dessa värden i rutnätet skapas följande WHERE-sats i -instruktionen i SQL-fönstret:
WHERE (job_lvl = 100) OR (status = 'R')
Skapa AND-villkoret genom att ange det en gång för varje OR-villkor. Placera varje post i samma rutnätskolumn som det OR-villkor som den motsvarar. Om du till exempel vill lägga till ett AND-villkor som söker i kolumnen
hire_date
och gäller för båda OR-villkoren anger du< '1/1/91'
i både kolumnen Villkor och Eller... kolumn.Om du anger dessa värden i rutnätet skapas följande WHERE-sats i -instruktionen i SQL-fönstret:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Tips
Du kan upprepa ett OCH-villkor genom att lägga till det en gång och sedan använda kommandona Klipp ut och Klistra in från menyn Redigera för att upprepa det för andra ELLER-villkor.
WHERE-satsen som skapas av fråge- och vydesignern motsvarar följande WHERE-sats, som använder parenteser för att ange prioriteten för ELLER framför AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Note
Om du anger sökvillkoren i det format som visas omedelbart ovan i SQL-fönstret, men sedan gör en ändring i frågan i fönstret Diagram eller Villkor, återskapar fråge- och vydesignern SQL-instruktionen så att den matchar formuläret med AND-villkoret som uttryckligen distribueras till båda ELLER-villkoren.
Se även
konventioner för att kombinera sökvillkor i villkorsfönstret (Verktyg för visuell databas)
Ange sökvillkor (Visual Database Tools)