Procedura: combinare le condizioni quando OR ha la precedenza
Per collegare condizioni con OR e attribuire loro la precedenza sulle condizioni collegate con AND, è necessario ripetere la condizione AND per ogni condizione OR.
Per trovare, ad esempio, i dipendenti che hanno lavorato nell'azienda per più di cinque anni con mansioni di basso livello o che sono in pensione,occorre creare una query con tre condizioni, un'unica condizione collegata ad altre due mediante AND:
I dipendenti assunti da più di cinque anni e
I dipendenti con livello pari a 100 o il cui stato sia "R" (retired, pensionato).
Nella procedura riportata di seguito viene illustrato come creare questo tipo di query nel riquadro Criteri.
[!NOTA]
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Per combinare condizioni quando OR ha la precedenza
Nel riquadro Criteri aggiungere le colonne di dati da includere nella ricerca.Per effettuare la ricerca sulla stessa colonna utilizzando due o più condizioni collegate con AND, è necessario aggiungere alla griglia il nome della colonna di dati per ciascun valore da includere nella ricerca.
Creare le condizioni da collegare con OR immettendo la prima nella colonna Filtro della griglia e la seconda (e le successive) in colonne OR… separate.Ad esempio, per collegare con OR condizioni per l'esecuzione della ricerca nelle colonne job_lvl e status, immettere = 100 nella colonna Filtro per job_lvl e = 'R' nella colonna OR... per status.
Immettendo questi valori nella griglia, verrà prodotta la seguente clausola WHERE nell'istruzione del riquadro SQL:
WHERE (job_lvl = 100) OR (status = 'R')
Creare la condizione AND immettendola una volta per ciascuna condizione OR.Collocare ogni voce nella stessa colonna della griglia in cui è presente la corrispondente condizione OR.Ad esempio, per aggiungere una condizione AND che consenta di eseguire la ricerca nella colonna hire_date e sia valida per entrambe le condizioni OR, immettere < '1/1/91' nella colonna Criteri e nella colonna OR....
Immettendo questi valori nella griglia, verrà prodotta la seguente clausola WHERE nell'istruzione del riquadro SQL:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Suggerimento Per ripetere una condizione AND, aggiungerla una volta, quindi utilizzare i comandi Taglia e Incolla del menu Modifica per ripeterla per altre condizioni OR.
La clausola WHERE creata da Progettazione query e Progettazione visualizzazioni è equivalente alla clausola WHERE riportata di seguito, in cui le parentesi consentono di specificare la precedenza di OR su AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
[!NOTA]
Se le condizioni di ricerca vengono immesse nel formato indicato sopra nel riquadro SQL e la query viene poi modificata nel riquadro Diagramma o Criteri, in Progettazione query e Progettazione visualizzazioni l'istruzione SQL verrà ricreata per assicurare la corrispondenza tra il formato utilizzato e la condizione AND distribuita esplicitamente a entrambe le condizioni OR.
Vedere anche
Riferimenti
Operatori di confronto (Visual Database Tools)
Concetti
Convenzioni per la combinazione delle condizioni di ricerca nel riquadro Criteri