Bonjour,
J'ai 2 tables (T1 et T2) définies comme suit (CF fichier xls joint) :
T1 :
C11 C12 C13 et d'autres colonnes C1y
A D G
B E H
C F I
T2 :
C21 C22 C23 C24 et d'autres colonnes C2x
A D G 1
J D L 9
B E H 3
M N H 2
C F I 5
A N I 7
Le but est de construire une requête qui me retourne :
C11 C12 C13 C24
A D G 1
B E H 3
C F I 5
Ces exemples de tables sont dans le fichier excel joint.
pour faire ça j'ai fais un truc pas terrible en terme de performance :
select C11,C12,C13,(select C24 from T2 where C21=C11 and C22=C12 and C23=C13) as C24
from T1
En fait, c'est même inutilisable car mes tables font plusieurs millions de lignes et la requête n'en fini pas de s’exécuter en prenant un max de ressources.
Je cherche à faire quelque chose d'intelligent avec une jointure entre T1 et T2 sans succès. Un truc du style :
select C11,C12,C13,C24
from T1 left outer join T2 on C21=C11 and C22=C12 and C23=C13
mais ça me ramène toujours plus de 3 lignes car il faut tester la jointure sur le triplet C11,C12,C13 avec le triplet C21,C22,C23...
Si vous connaissez la solution je suis preneur !
Merci d'avance,
Guillaume
Partager