[VB] Problème de requête SQL

Fermé
nan92 - 8 juin 2007 à 15:55
 choco000078 - 8 juin 2007 à 16:15
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

2 réponses

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
ça marche en mettant un distinct sur toute la clé, et pas seulement sur la clé1
0
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