USE luna2_innodb;

-- tblmitarbeiter
-- M_Nr
-- A_Nr -> tblabteilung
-- M_Name
-- M_Vorname

-- tbltaetigkeit
-- T_Nr
-- M_Nr -> tblmitarbeiter
-- P_Nr -> tblprojekt
-- T_Taetigkeit
-- T_Einstellungsdatum

-- tblabteilung
-- A_Nr
-- A_Name
-- A_Stadt

-- tblprojekt
-- P_Nr
-- P_Name
-- P_Mittel

#a
SELECT tblmitarbeiter.M_Vorname, tblmitarbeiter.M_Name, tblmitarbeiter.M_Nr, tblabteilung.A_Name, tblabteilung.A_Stadt FROM tblmitarbeiter
JOIN tblabteilung ON tblmitarbeiter.A_Nr = tblabteilung.A_Nr;

#b
SELECT tblmitarbeiter.*, tblprojekt.P_Name FROM tblmitarbeiter
JOIN tbltaetigkeit ON tblmitarbeiter.M_Nr = tbltaetigkeit.M_Nr
JOIN tblprojekt ON tbltaetigkeit.P_Nr = tblprojekt.P_Nr;

#c
SELECT DISTINCT tblmitarbeiter.A_Nr FROM tblmitarbeiter
JOIN tbltaetigkeit ON tbltaetigkeit.M_Nr = tblmitarbeiter.M_Nr
WHERE tbltaetigkeit.T_Einstellungsdatum = "1989-10-15";

#d
SELECT tblmitarbeiter.M_Vorname, tblmitarbeiter.M_Name, tblabteilung.A_Stadt FROM tblmitarbeiter
JOIN tblabteilung ON tblabteilung.A_Nr = tblmitarbeiter.A_Nr
JOIN tbltaetigkeit ON tbltaetigkeit.M_Nr = tblmitarbeiter.M_Nr
WHERE tbltaetigkeit.T_Taetigkeit = "Projektleiter";

#e
SELECT DISTINCT tblprojekt.P_Name FROM tblprojekt
JOIN tbltaetigkeit ON tbltaetigkeit.P_Nr = tblprojekt.P_Nr
JOIN tblmitarbeiter ON tbltaetigkeit.M_Nr = tblmitarbeiter.M_Nr
JOIN tblabteilung ON tblmitarbeiter.A_Nr = tblabteilung.A_Nr
WHERE tblabteilung.A_Name = "Diagnose";

#f
SELECT tblabteilung.* FROM tblabteilung
JOIN tblabteilung AS tblabteilung_other ON tblabteilung.A_Stadt = tblabteilung_other.A_Stadt
AND tblabteilung.A_Nr != tblabteilung_other.A_Nr;