Bonsoir
Je débute en SQL, ne tapez pas trop fort SVP
Je dois faire des modifications dans une base de donnée et je dois faire des SELECT imbriqués (je pense, mais il y a peut être plus simple) pour récupérer des paramètres et je n'y arrive pas
J'arrive à récupérer le premier paramètre
Voici un exemple de mes 2 tables :
La table T1 est un ensemble de tests ou chaque IDFollowUpX est la clé des mesures effectués pour chacun des tests dans la table T2
Je chercher à récupérer tous les paramètres Par6 pour un IDMesure donné sauf si Par6 est -1 (non mesuré)
FollowUpStateX permet de savoir si la test est valide.
Dans le cas du 217, je dois avoir :
217;1001;91;1004;-1;1005;61
T1 Table de tests
IDCase;IDMesure;IDFollowUp1;IDFollowUp2;IDFollowUp3;IDFollowUp4;IDFollowUp5;IDFollowUp6;FollowUpState1;FollowUpState2;FollowUpState3;FollowUpState4;FollowUpState5;FollowUpState6
1;200;1000;1002;1006;1007;1008;-1;0;0;0;0;0;-1
2;217;1001;1004;1005;-1;-1;-1;0;0;0;-1;-1;-1
3;127;1003;1009;1010;1011;1012;1013;0;0;0;0;0;0
T2 Table de suivi
ID;IDAuthor;FollowUpDate;Par1;Par2;Par3;Par4;Par5;Par6
1000;28;01/01/2016;73;0;55;63;44;43
1001;28;01/01/2016;18;6;35;96;46;91
1002;28;02/01/2016;7;19;14;90;43;35
1003;28;03/01/2016;12;32;81;41;11;72
1004;28;03/01/2016;22;9;60;94;27;Null
1005;45;04/01/2016;94;33;83;38;7;61
1006;45;04/01/2016;31;30;4;55;81;50
1007;45;05/01/2016;40;30;77;72;71;1
1008;57;10/01/2016;80;82;77;14;4;32
1009;12;15/01/2016;82;50;99;Null;Null;Null
1010;12;16/01/2016;55;8;50;41;Null;Null
1011;12;17/01/2016;67;55;1;82;Null;Null
1012;12;18/01/2016;79;18;Null;Null;Null;Null
1013;28;05/02/2016;43;54;13;0;85;73
1014;57;08/02/2016;55;28;14;96;80;10
1015;45;15/02/2016;23;70;87;13;67;47
1016;12;01/03/2016;95;49;15;84;Null;Null
Comment faire pour récupérer les autres Par6 en imbriquant 5 fois la requete suivante?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT c.caseID as caseID, c.IDFollowUp1 as f1_id, f.Par6 as f1_Par6, c.IDFollowUp2 as f2_id, c.IDFollowUp3 as f3_id, c.IDFollowUp4 as f4_id, c.IDFollowUp5 as f5_id, c.IDFollowUp6 as f6_id FROM Table1 as c, Table2 as f WHERE c.IDFollowUp1 = f.ID AND FollowUpState2 != -1 AND c.caseID = 217
Partager