Aller au contenu

champs liés entre 2 tables


Anonymus

Sujets conseillés

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

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 a
INNER JOIN product_assoc b ON a.p_id = b.p_id
INNER JOIN Tab3 c On c.passoc_id <> b.passoc_id
Where .....

Ca devrait fonctionner ou alors en sous requetes si '3' est à inscrire en 'dur' :)

Lien vers le commentaire
Partager sur d’autres sites

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

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...