Bonjour à tous
pourriez-vs m'aider à trouver une syntaxe SQL compatible avec Access pour sélectionner des enregistrements portant sur TOUS les objets d'une nature donnée et non pas seulement un au moins de ces objets.
Je m'explique :
la BdD est constituée des tables suivantes :
- la table des Client, avec leurs références,
- la table des Commandes, jointure avec CLIENT sur le champ Numéro de Client,
- la table DETAIL DES COMMANDES, jointure avec Commandes sur le champ Numéro de commande, qui indique les numéros des produits commandés et les quantités commandées par commande
- la table des PRODUIT fabriqués, jointure avec la table DETAIL DES COMMANDES sur la référence produit, qui indique aussi le libellé du produit.
Je cherche à déterminer les clients qui ont commandé (entre autres) TOUS les produits fabriqués contenant de l'ACIER. Il y a 2 référénces de produits avec de l'acier, je veux dc sélectionner les clients dt les commandes contiennent les 2 types de produits en acier, et pas seulement un des deux, avec éventuellement d'autres produits qui ne sont pas en acier.
Voici la syntaxe de la requête que j'ai rédigée, mais ça ne me donne pas le résultat attendu.
Pouvez-vs m'aider svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT Ncli, Nom FROM T_Client a WHERE NOT EXISTS (SELECT * FROM T_Produit C WHERE libelle like '*acier*' and Npro not in (Select Npro From T_Detail d, T_Commande b Where D.Ncom = b.Ncom and b.Ncli = a.Ncli))
Merci d'avance
Partager