[VB] Problème de requête SQL

nan92 -  
 choco000078 -
bonjour !
Voici ma requête SQL (je sais, c'est un peu bizarre de faire une jointure alors que je ne ramène aucun champ de la deuxième table, mais c'est une requête faite automatiquement par un objet crée par un collègue et je voudrais savoir quoi changer...)

Select A.TOTO, A.TATA
from TableA as A
left join TableB asB
on (A.cle1 = B.cle1 and A.cle2 = B.cle2)

sachant que la table A a pour clé (cle1, cle2) et que la table B a pour clé (cle1, cle2, cle3)

En fait ça me ramène trop d'enregistrements. J'ai bien les enregistrements de la table A mais certains sont en double, ou plus. En fait il sont présent autant de fois qu'il y a une cle3 correspondante dans la table B.
Je voudrais les avoir une seule fois (en gardant une jointure sur la table B, sinon c'est facile vous me direz, je n'ai qu'à enlever la jointure !)

Merci d'avance
A voir également:

2 réponses

choco000078
 
Essaye peut-etre la clause DISTINCT.

Select DISTINCT A.cle1 , A.TOTO, A.TATA
from TableA as A
left join TableB asB
on (A.cle1 = B.cle1 and A.cle2 = B.cle2)

Je te garantie rien, redit moi quoi ;)
0
nan92
 
ça marche en mettant un distinct sur toute la clé, et pas seulement sur la clé1
0
choco000078
 
Effectivement, j'ai lus ton problème trop vite, pas fait gaff qu'il y avait 2 clé primaire sur la table A.
Si ca fonctionne correctement c'est cool.
Bon week-end ;)
0