Condividi tramite


Procedura: combinare le condizioni quando OR ha la precedenza

Aggiornamento: novembre 2007

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:

Le finestre di dialogo e i comandi di menu visualizzati possono differire da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione in uso. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per combinare condizioni quando OR ha la precedenza

  1. 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.

  2. 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')
    
  3. 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 viste è 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 viste 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

Concetti

Convenzioni per la combinazione delle condizioni di ricerca nel riquadro Criteri

Riferimenti

Operatori di confronto (Visual Database Tools)

Altre risorse

Specifica dei criteri di ricerca