· 6 years ago · May 02, 2019, 09:44 AM
1DROP TABLE IF EXISTS Map_Sportler_Mannschaft_Zu_Zeitpunkt;
2DROP TABLE IF EXISTS Map_Mannschaft_Spielklasse;
3DROP TABLE IF EXISTS Spielklasse;
4
5CREATE TABLE Spielklasse
6(
7 Spielklasse_ID INTEGER NOT NULL PRIMARY KEY,
8 Bezeichnung varchar,
9 Erwachsenenliga BOOL
10);
11
12CREATE TABLE Map_Mannschaft_Spielklasse
13(
14 Mannschaft_ID INTEGER NOT NULL,
15 Spielklasse_ID INTEGER NOT NULL,
16 FOREIGN KEY(Mannschaft_ID) REFERENCES Mannschaft,
17 FOREIGN KEY(Spielklasse_ID) REFERENCES Spielklasse
18);
19
20CREATE TABLE Map_Sportler_Mannschaft_Zu_Zeitpunkt
21(
22 Sportler_ID INTEGER NOT NULL,
23 Mannschaft_ID INTEGER NOT NULL,
24 Eintrittsdatum DATE NOT NULL,
25 Austrittsdatum DATE,
26 FOREIGN KEY(Sportler_ID) REFERENCES Sportler,
27 FOREIGN KEY(Mannschaft_ID) REFERENCES Mannschaft
28);
29
30GOLD53
31
32
33DELETE FROM Spielklasse;
34INSERT INTO Spielklasse(Bezeichnung,Erwachsenenliga)
35VALUES
36('U16','FALSE'),('U17','FALSE'),('U18','FALSE'),('Kreisliga','TRUE'),('Oberliga','TRUE');
37
38DELETE FROM Map_Mannschaft_Verein;
39INSERT INTO Map_Mannschaft_Verein
40(verein_id,mannschaft_id,von)
41VALUES
42(1,1,'2019-01-01'),(1,2,'2019-01-01'),(1,3,'2019-01-01'),
43(2,4,'2019-01-01'),(2,5,'2019-01-01'),(2,6,'2019-01-01'),
44(3,7,'2019-01-01'),(3,8,'2019-01-01'),(3,9,'2019-01-01'),
45(4,10,'2019-01-01');
46
47DELETE FROM Map_Sportler_Mannschaft_Zu_Zeitpunkt;
48INSERT INTO Map_Sportler_Mannschaft_Zu_Zeitpunkt
49VALUES
50(1,1,'2017-01-01','2018-01-01'),(1,2,'2018-01-01','2019-01-01'),(1,3,'2019-01-01',''),
51(2,4,'2017-01-01','2018-01-01'),(2,5,'2018-01-01','2019-01-01'),(1,6,'2019-01-01',''),
52(3,5,'2017-01-01','2018-01-01'),(4,6,'2018-01-01','2019-01-01'),(1,7,'2019-01-01',''),
53(5,6,'2017-01-01','2018-01-01'),(5,7,'2018-01-01','2019-01-01'),(1,8,'2019-01-01',''),
54(5,7,'2017-01-01','2018-01-01'),(19,8,'2018-01-01','');
55
56DELETE FROM Map_Mannschaft_Spielklasse;
57INSERT INTO Map_Mannschaft_Spielklasse
58VALUES
59(1,1),(2,1),(3,2),(4,2),(5,3),(6,3),(7,5),(8,5);
60
61
62
63ISST GERNE BREI
64
65
66--Spieler die in einer Erwachsenenliga spielen/gespielt haben
67SELECT Verein.name as Verein,Mannschaft.name as Mannschaft,Bezeichnung as Spielklasse,Sportler_ID as Sportler FROM
68(SELECT * FROM Spielklasse WHERE Erwachsenenliga = 'TRUE')
69JOIN Map_Mannschaft_Spielklasse USING (Spielklasse_ID)
70JOIN Map_Sportler_Mannschaft_Zu_Zeitpunkt USING (Mannschaft_ID)
71JOIN Mannschaft USING (Mannschaft_ID)
72JOIN Map_Mannschaft_Verein USING (Mannschaft_ID)
73JOIN Verein USING (verein_id);
74
75
76
77--Spieler die mal in einer Jugend/Kinderliga gespielt haben
78SELECT Verein.name as Verein,Mannschaft.name as Mannschaft,Bezeichnung as Spielklasse,Sportler_ID as Sportler FROM
79(SELECT Spielklasse_ID,Bezeichnung FROM Spielklasse
80WHERE Erwachsenenliga = 'FALSE')
81JOIN Map_Mannschaft_Spielklasse USING (Spielklasse_ID)
82JOIN Map_Sportler_Mannschaft_Zu_Zeitpunkt USING (Mannschaft_ID)
83JOIN Mannschaft USING (Mannschaft_ID)
84JOIN Map_Mannschaft_Verein USING (Mannschaft_ID)
85JOIN Verein USING (verein_id);
86
87SELECT * FROM Map_Sportler_Mannschaft_Zu_Zeitpunkt;