Anonymus Posté 15 Avril 2008 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
Dadou Posté 16 Avril 2008 Posté 16 Avril 2008 je n'ai pas testé mais : SELECT DISTiNCT product.p_idFROM product, product_assocWHERE product_assoc.passoc_id <> 3
Portekoi Posté 16 Avril 2008 Posté 16 Avril 2008 Salut, Tu peux passer par une sous requête? Se serait le plus simple Portekoi
Portekoi Posté 16 Avril 2008 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'
Dadou Posté 16 Avril 2008 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)
Anonymus Posté 16 Avril 2008 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant