Bonjour,
J'ai un problème que je n'arrive vraiment pas à résoudre.
La requête ci-dessus me donne ce résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT OPERA_DEPO.CLNT_ID, OPERA_DEPO.TTY_NO, GCODE_DEPO_TYP_LAST.ID, GCODE_DEPO_TYP_LAST.CODE, GCODE_COLLCTN_TYP_LAST.CODE FROM GCODE_COLLCTN_TYP_LAST INNER JOIN (GCODE_DEPO_TYP_LAST INNER JOIN OPERA_DEPO ON GCODE_DEPO_TYP_LAST.ID = OPERA_DEPO.DEPO_TYP_ID) ON GCODE_COLLCTN_TYP_LAST.ID = OPERA_DEPO.COLLCTN_TYP_ID GROUP BY OPERA_DEPO.CLNT_ID, OPERA_DEPO.TTY_NO, GCODE_DEPO_TYP_LAST.ID, GCODE_DEPO_TYP_LAST.CODE, GCODE_COLLCTN_TYP_LAST.CODE;
J'aimerais par la suite avoir exactement ça :
Tous les numéro TTP doivent être uniques.
Mon idée est de partir d'une table contenant tous mes numéro TTP uniques et de les dupliquer pour chaque ID (voir tableau ci-dessous) afin de faire un LEFT Join/RIGHT JOIN avec la requête précédente qui me permettra ensuite d'avoir des NULL là où il n'y a pas d'occurrences.
TTP_NO ID 1006124 1 1006124 2 1006124 5 1007167 1 1007167 2 1007167 5
Le gros hic, c'est que cela prend beaucoup de temps alors que cette étape n'est qu'une petite partie de ma requête globale .
Auriez-vous une idée plus ingénieuse (rapide) ?
Merci par avance pour votre aide
Partager