Bonjour,
je réalise une requête avec jointure et je n'arrive pas a obtenir le résultat voulu, pourtant je ne pense pas être loin de la solution.
J'ai une table catalogue avec les champs suivant:
id | id_site | id_produit | number_produit
et une table catalogue2 avec les champs suivant:
id | id_site | id_produit | number_produit
Il y a d'autres champs dans chaque table qui ne nous intéressent pas pour le problème posé. Chaque table dispose donc des même champs.
pour qu'un article soit considéré comme identique, trois champs doivent être identique, à savoir id_site, id_produit et number_produit.
Quand je réalise la requête suivante:
J'obtiens bien les id des articles présent dans catalogue1 et catalogue2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2"SELECT catalogue2.id from catalogue2, catalogue WHERE catalogue.id_site = catalogue2.id_site AND catalogue.id_produit = catalogue2.id_produit AND catalogue.number_produit = catalogue2.number_produit"
Ce que je veux c'est le contraire, c'est à dire les id des articles du catalogue2 qui n'existe pas dans le catalogue1.
J'ai essayé ceci:
Cette requête ne fonctionne pas et me renvois des millions de résultat. Ce que je comprends très bien puisqu'il y a des millions de possibilité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2"SELECT catalogue2.id from catalogue2, catalogue WHERE !(catalogue.id_site = catalogue2.id_site AND catalogue.id_produit = catalogue2.id_produit AND catalogue.number_produit = catalogue2.number_produit)"
Voyez-vous comment je pourrais faire ma requête ?
En espérant avoir réussi à me faire comprendre.
Merci d'avavnce.
Partager