From 50428f14a98ec1040072a3d2f4df7426f28873d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAEZ=20Th=C3=A9o?= <theo.saez@etu.univ-amu.fr> Date: Tue, 6 May 2025 19:02:04 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20VIEW=20NbPlacesOccup=C3=A9esL?= =?UTF-8?q?iaisons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BusTP2-Q3.sql | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/BusTP2-Q3.sql b/BusTP2-Q3.sql index 1efb50f..2a3ad75 100644 --- a/BusTP2-Q3.sql +++ b/BusTP2-Q3.sql @@ -1,5 +1,5 @@ /* Vue RéservationsAvecHoraires */ -CREATE VIEW RéservationsAvecHoraires AS +CREATE OR REPLACE 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_depart ON r.NumT = e_depart.NumT AND r.VilleD = e_depart.NomV @@ -8,6 +8,7 @@ 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 @@ -19,18 +20,32 @@ 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; +SELECT e1.NUMT, e1.NOMV AS VilleD, e2.NOMV AS VilleA, e1.DATED, e2.DATEA +FROM Etapes e1 +JOIN Etapes e2 ON e1.NumT = e2.NumT +WHERE e1.NOMV <> e2.NOMV AND e1.DATED < e2.DATEA; + +/* Test de la vue */ +SELECT * FROM Liaisons; -/*EDIT TABLE ETAPE PRBL DENONCE*/ +--- +/* Vue NbPlacesOccupéesLiaisons */ +CREATE OR REPLACE VIEW NbPlacesOccupéesLiaisons AS +SELECT l.NUMT, l.VILLED, l.VILLEA, NVL(SUM(NBPlaces.NbPlacesRéservées), 0) AS PlacesOccupées +FROM Liaisons l +JOIN NbPlacesRéservéesEtapes NBPlaces ON NBPlaces.NUMT = l.NUMT AND NBPlaces.NOMV <= l.VILLED +GROUP BY l.NUMT, l.VILLED, l.VILLEA +; /* Test de la vue */ -SELECT * FROM Liaisons; +SELECT * FROM NbPlacesOccupéesLiaisons; + + + COMMIT; \ No newline at end of file -- GitLab