suethi75
Messages postés101Date d'inscriptionmercredi 5 novembre 2008StatutMembreDernière intervention31 août 2009
-
15 mars 2009 à 15:39
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
15 mars 2009 à 16:57
Bonjour tout le monde,
Je n'arrive pas à faire une requête. J'ai 3 tables, une s'appelle "produit" avec comme clef primaire "numBijoux", j'ai une autre table qui s'appelle matiere avec comme clef primaire (numMatiere) et un autre champs libMatiere.
Un bijou peut être composé de plusieurs matieres. J'ai une autre table qui s'appelle composer, elle a comme clef primaire la concaténation des 2 autres clefs des deux tables précédemment citées (produit et matiere).
A partir de cela je voudrais afficher toutes les matières qui ne sont pas dans un bijou. Je pense qu'il faut utiliser "NOT IN" mais je n'y arrive pas.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 15 mars 2009 à 16:37
Je verrais bien quelque chose du genre (à vérifier, j'ai pas tester) :
SELECT * FROM matiere
WHERE numMatiere NOT IN (
SELECT numMatiere FROM Composer
INNER JOIN produit ON composer.numBijoux= produit.numBijoux
WHERE produit.numBijoux= numDeTonBijoux )
suethi75
Messages postés101Date d'inscriptionmercredi 5 novembre 2008StatutMembreDernière intervention31 août 2009 15 mars 2009 à 16:51
Merci casy,
j'ai essayé sur mysql:
SELECT numMatiere, libMatiere from matiere m where m.numMatiere not in (select c.numMatiere from produit p,composer c where p.numBijoux=c.numBijoux
and p.numBijoux = 'numeroBijou');
Cela marchait bien mais lorsque je veux l'adapter en php ça ne marche pas.Il m'affiche rien.