solved s03

This commit is contained in:
navid.sassan 2020-12-07 15:40:49 +01:00
parent d84e61e61f
commit 80d97079b0

View File

@ -2,48 +2,55 @@
-- DB: Bewertetes Praktikum 3 -- DB: Bewertetes Praktikum 3
-- --
-- --
-- Name 1: -- Name 1: Navid Sassan
-- Name 2:
-- Name 3:
-- Name 4:
-- --
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 1 -- Aufgabe 1
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
CREATE TABLE `Teilnehmer` (
SNr INTEGER NOT NULL,
MNr INTEGER NOT NULL,
IstLeiter VARCHAR(4) NOT NULL,
CONSTRAINT FK_Teilnehmer_MNr FOREIGN KEY (MNr)
REFERENCES Mitarbeiter(MNr),
CONSTRAINT FK_Teilnehmer_SNr FOREIGN KEY (SNr)
REFERENCES Sitzung(SNr)
);
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 2 -- Aufgabe 2
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
SELECT * FROM `Sitzung` ORDER BY `Datum` DESC LIMIT 1;
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 3 -- Aufgabe 3
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
SELECT SNr FROM zhaw.Sitzung AS x WHERE NOT EXISTS (SELECT 1 FROM Teilnehmer AS y WHERE x.SNr = y.SNr) AND EXISTS (SELECT 1 FROM Sitzungsort AS z WHERE x.SNr = z.SNr);
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 4 -- Aufgabe 4
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
SELECT DISTINCT `Bezeichnung` FROM `Sitzung` NATURAL JOIN Sitzungsort WHERE ZNr=19 AND EXISTS (SELECT 1 FROM Teilnehmer NATURAL JOIN Mitarbeiter WHERE HausNR != (SELECT HausNR FROM Sitzungszimmer where ZNr=19));
-- Hier wird DISTINCT benötgt, da mehrere Sitzungen die gleiche Bezeichnung haben können, das Wort "verschieden" in der Aufgabenstellung aber bedeutet, dass keine Duplikate angezeigt werden sollen.
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 5 -- Aufgabe 5
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
SELECT Bezeichnung,AVG(ZeitBis - ZeitVon) FROM Sitzung WHERE YEAR(Datum) = 2020 GROUP BY Bezeichnung;
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
-- Aufgabe 6 -- Aufgabe 6
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------