diff --git a/BusTP2-Q3.sql b/BusTP2-Q3.sql index 2b4505366dabd2a02a41596626814877a695f44b..1efb50f6d3ffa787c87c62cc751b7f7efea8b585 100644 --- a/BusTP2-Q3.sql +++ b/BusTP2-Q3.sql @@ -1,5 +1,36 @@ -CREATE VIEW RéservationsAvecHoraires -AS SELECT r.NumR, r.NumC, r.NumT, r.VilleD, r.VilleA, r.Nbplaces, e_départ.DATED, e_arrivée.DATEA +/* Vue RéservationsAvecHoraires */ +CREATE VIEW RéservationsAvecHoraires AS +SELECT r.NumR, r.NumC, r.NumT, r.VilleD, r.VilleA, r.Nbplaces, e_depart.DateD, e_arrivee.DateA FROM Réservations r -JOIN Etapes e_départ ON r.NumT = e_départ.NumT AND r.VilleD = e_départ.DATEA.NomV -JOIN ETAPES e_arrivée ON r.NumT = e_arrivée.NumT AND r.VilleA = e_arrivée.DATEA.NomV +JOIN Etapes e_depart ON r.NumT = e_depart.NumT AND r.VilleD = e_depart.NomV +JOIN Etapes e_arrivee ON r.NumT = e_arrivee.NumT AND r.VilleA = e_arrivee.NomV; + +/* Test de la vue */ +SELECT * FROM RéservationsAvecHoraires; + + +/* Vue NbPlacesRéservéesEtapes */ +CREATE OR REPLACE VIEW NbPlacesRéservéesEtapes AS +SELECT e.NUMT, e.NOMV, e.DATED, NVL(SUM(r.NBPLACES),0) AS NbPlacesRéservées +FROM Etapes e +LEFT JOIN RÉSERVATIONS r ON e.NUMT = r.NUMT AND e.NOMV = r.VILLED +GROUP BY e.NUMT, e.NOMV, e.DATED; + +/* Test de la vue */ +SELECT * FROM NbPlacesRéservéesEtapes; + + +/* Vue Liaisons */ +CREATE OR REPLACE VIEW Liaisons AS +SELECT e.NOMV, r.VilleA, e.DATED, e.DATED +FROM Etapes e +JOIN Réservations r ON e.NUMT = r.NumT AND e.NOMV = r.VILLED +GROUP BY e.NOMV; + +/*EDIT TABLE ETAPE PRBL DENONCE*/ + + +/* Test de la vue */ +SELECT * FROM Liaisons; + +COMMIT; \ No newline at end of file