Bonjour,
j'essaye de classer la requête suivante :
En gros, CODVEHI représente un bus, IDCOUR est l'identifiant de la course sur laquelle se trouve le bus (une course c'est une sorte d'itinéraire composé d'horaires de passage à des points d'arrêts), NUORDRE c'est l'ordre de passage à un point d'arrêt dans la course, les autres sont les horaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT T.CODVEHI, C.IDCOUR, SH.NUORDRE, SH.HARRIV, SH.HDEPAR FROM TRONCON T, ENGLOBER E, SCONDUC SC, COURSE C, SUCHOR SH, ITINERAIRE I WHERE T.IDTRON = E.IDTRON AND E.NUCOND = SC.NUCOND AND C.IDTRON = T.IDTRON AND C.IDCOUR = SH.IDCOUR AND I.IDITI = C.IDITI AND I.TYPITI <> 2 AND SC.JOURS LIKE '%Lundi%' GROUP BY C.IDCOUR, SH.NUORDRE ORDER BY T.CODVEHI, SH.MINARRIV ;
Toutefois le résultat n'est pas vraiment classé correctement :
Comme vous pouvez le voir, l'arrêt numéro 1 de la course 323 se situe avant l'arrêt 18 de la course 322.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CODVEHI IDCOUR NUORDRE HARRIV HDEPAR 1/1 322 14 06:16:00 06:16:00 1/1 322 15 06:16:58 06:16:58 1/1 322 16 06:19:02 06:19:02 1/1 322 17 06:20:09 06:20:09 1/1 323 1 06:22:00 06:38:00 1/1 322 18 06:22:00 06:22:00 1/1 323 2 06:39:43 06:39:43 1/1 323 3 06:41:03 06:41:03 1/1 323 4 06:43:02 06:43:02 1/1 323 5 06:44:00 06:44:00
Bien sûr je peux reclasser ça dans mon programme, mais si je pouvais obtenir le classement correct depuis ma requête ça serait plus pratique.
Vos suggestions sont les bienvenues.
Partager