Anonymus Posté 15 Avril 2008 Partager Posté 15 Avril 2008 Bonjour, Comment fait pour que dans le cas ci-dessous, les produits de la table product p_id 1, 2, 3, 6 sortent, mais pas les p_id 4 et 5, parce que liés à 3 dans la 2e table ? Merci d'avance --product--p_id 1 2 3 4 5 6--product_assoc--p_id, passoc_id 3 | 4 3 | 5 4 | 3 5 | 3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 16 Avril 2008 Partager Posté 16 Avril 2008 je n'ai pas testé mais : SELECT DISTiNCT product.p_idFROM product, product_assocWHERE product_assoc.passoc_id <> 3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 16 Avril 2008 Partager Posté 16 Avril 2008 Salut, Tu peux passer par une sous requête? Se serait le plus simple Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 16 Avril 2008 Partager Posté 16 Avril 2008 Je complète : Si '3' était pour l'exemple, et que tu peux en avoir plusieurs dans ce cas là, créé une table contenant les 'passoc_id' à éviter puis : Select a.*FROM product aINNER JOIN product_assoc b ON a.p_id = b.p_idINNER JOIN Tab3 c On c.passoc_id <> b.passoc_idWhere ..... Ca devrait fonctionner ou alors en sous requetes si '3' est à inscrire en 'dur' Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 16 Avril 2008 Partager Posté 16 Avril 2008 Dedieux, ne pas ouvrir le PC le matin en ce levant, non seulement j'écris une requête qui marche pas, mais en plus cela m'a travaillé dans le train, voila la bonne SELECT * FROM product WHERE p_id NOT IN (SELECT p_id FROM product_assoc WHERE passoc_id = 3) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 16 Avril 2008 Auteur Partager Posté 16 Avril 2008 3, c'etait pour l'exemple, y'a plus de 2000 produits, et autant de prod. associés, ca va faire un sacré tableau Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant