Gestion de bus II
[10 min]
Une société de gestion d'autobus urbains dispose de la base de données ci-après pour représenter ses conducteurs, ses bus et ses lignes de bus.
1
Conducteur (#matricule:varchar(10), nom:varchar, prénom:varchar)
2
Ligne (#num:numeric(2), km:numeric(4))
3
Bus (#immat:varchar(10), type:{Soufflets|Normaux|Réduits}, kilométrage:numeric(7), matricule=>Conducteur)
4
TrajetParJour (#ligne=>Ligne, #immat=>Bus, nombre_de_trajets:numeric(2))
5
Station (#num:numeric, nom:varchar, adresse:varchar)
6
Arrêt (#ligne:=>Ligne, #station=>Station, rang:numeric)
Question
Quelles lignes (numéros) ont pour arrivée la station "Royallieu".
Solution
1
SELECT N°Ligne
2
FROM
3
(SELECT N°Ligne, Max(Rang) AS Arrivée
4
FROM Arrêts
5
GROUP BY N°Ligne) R1,
6
Arrêts,
7
Station
8
WHERE R1.N°Ligne=Arrêts.N°Ligne
9
AND R1.Arrivé=Arrêts.Rang
10
AND Arrêt.N°Station= Station.N°Station
11
AND Station.Nom='Royallieu';