Bonjour,
Pour commencer je vais essayer de vous decrire avec precision mon problème.
J'ai deux tables :
PRODUIT qui contient ID_PRODUIT, DESIGNATION etc ...
CONTROLE qui contient ID_CONTROLE, ID_PRODUIT, TYPE etc ...
Et j'aimerai recupérer dans une seule requête toute les données de CONTROLE plus le champ DESIGNATION de PRODUIT ainsi j'ai cette requête :
Le problème est que l'ID_PRODUIT d'un CONTROLE peut etre null ou ne pas etre dans la table PRODUIT, de ce fait, si un CONTROLE et lié à un PRODUIT, son TYPE sera 'S' sinon c'est 'A' (comme Autre), et j'aimerai connaitre la requête qui m'affiche les CONTROLE et son champ DESIGNATION ainsi que les CONTROLE n'etant pas relié à un PRODUIT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select a.ID_CONTROLE, a.ID_PRODUIT, a.TYPE, b.DESIGNATION from CONTROLE a, PRODUIT b where a.ID_PRODUIT = b.ID_PRODUIT
En premier lieu j'ai pensé que la requête : "select a.ID_CONTROLE, a.ID_PRODUIT, a.TYPE, b.DESIGNATION from CONTROLE a, PRODUIT b where a.ID_PRODUIT = b.ID_PRODUIT and a.TYPE='A' " pourrait repondre à ma question mais au lieu de ça elle m'affiche la ligne d'un CONTROLE de TYPE 'A' autant de fois que de DESIGNATION dans ma table PRODUIT.
Exemple :
Il m'affiche
ID_CONTROLE ID_PRODUIT TYPE DESIGNATION
1 NULL A designation1
1 NULL A designation2
1 NULL A designation3
2 NULL A designation1
2 NULL A designation2
2 NULL A designation3
Au lieu de
ID_CONTROLE ID_PRODUIT TYPE DESIGNATION
1 NULL A NULL
2 NULL A NULL
Si vous arrivez à m'aider je vous en serait déjà très reconnaissant mais ce n'est pas tout
En effet j'aimerai aussi qu'il ne m'affiche qu'un seul CONTROLE par ID_PRODUIT.
Par exemple si j'ai dans ma table CONTROLE :
ID_CONTROLE ID_PRODUIT TYPE
1 1 S
2 1 S
3 1 S
4 2 S
5 2 S
6 3 S
Je voudrai qu'il m'affiche :
ID_CONTROLE ID_PRODUIT TYPE DESIGNATION
1 1 A designation1
4 2 A designation2
6 3 A designation3
Voila j'espère avoir été assez clair et j'espère vraiment avoir une aide de votre part.
Merci d'avance.
Gaëtan.
Partager