Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour lier des conditions avec OR et leur donner la priorité sur les conditions liées à AND, vous devez répéter la condition AND pour chaque condition OR.
Par exemple, imaginez que vous souhaitez trouver tous les employés qui ont été avec l’entreprise plus de cinq ans et qui ont des emplois de niveau inférieur ou sont retraités. Cette requête nécessite trois conditions, une condition unique liée à deux conditions supplémentaires avec AND :
Employés ayant une date d’embauche antérieure à cinq ans et
Les employés ayant un niveau de travail de 100 ou dont le statut est « R » (pour les retraités).
La procédure suivante montre comment créer ce type de requête dans le volet Critères.
Pour combiner des conditions lorsque OU a la priorité
Dans le volet critères , ajoutez les colonnes de données que vous souhaitez rechercher. Si vous souhaitez rechercher la même colonne à l’aide de deux conditions ou plus liées à AND, vous devez ajouter le nom de colonne de données à la grille une fois pour chaque valeur que vous souhaitez rechercher.
Créez les conditions à lier avec OR en entrant la première dans la colonne de la grille de filtre et la deuxième (et les suivantes) dans des colonnes Ou... séparées. Par exemple, pour lier des conditions avec l'opérateur OR qui recherchent les colonnes
job_lvletstatus, entrez= 100dans la colonne Filtre pourjob_lvlet= 'R'dans la colonne Or... pourstatus.La saisie de ces valeurs dans la grille produit la clause WHERE suivante dans l’instruction dans le volet SQL :
WHERE (job_lvl = 100) OR (status = 'R')Créez la condition AND en la entrant une fois pour chaque condition OR. Placez chaque entrée dans la même colonne de grille que la condition OR à laquelle elle correspond. Par exemple, pour ajouter une condition AND recherchant la colonne
hire_dateet qui s'applique aux deux conditions OU, entrez< '1/1/91'dans la colonne Critères et la colonne ou.La saisie de ces valeurs dans la grille produit la clause WHERE suivante dans l’instruction dans le volet SQL :
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )Conseil / Astuce
Vous pouvez répéter une condition ET en l'ajoutant une seule fois, puis en utilisant les commandes Couper et Coller à partir du menu Modifier pour la répéter pour d'autres conditions OU.
La clause WHERE créée par le Concepteur de requêtes et de vues équivaut à la clause WHERE suivante, qui utilise des parenthèses pour spécifier la priorité d’OR sur AND :
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Remarque
Si vous entrez les conditions de recherche dans le format indiqué immédiatement au-dessus dans le Volet SQL, mais apportez une modification à la requête dans les volets Diagramme ou Critères, le Concepteur de requêtes et de vues recrée l’instruction SQL afin qu'elle corresponde à la forme où la condition AND est explicitement répartie entre les deux conditions OR.
Voir aussi
Conventions pour combiner des conditions de recherche dans le volet critères (Visual Database Tools)
spécifier des critères de recherche (Visual Database Tools)