Hallo ihr Lieben,
Lerne momentan für eine Prüfung. Wir müssen ein paar SQL Aufgaben lösen, um zugelassen zu werden.
Kann mir jemand bitte bei einer SQL Aufgabe helfen?
Habe das ERM Modell mit Primär- und Fremdschlüsseln hochgeladen:
Directupload.net - zsvklhah.png
Die Aufgabe lautet:
Welche Spieler haben sowohl in dem Spiel mit der SpielId 787 als auch in dem Spiel mit der SpielId 837 *gespielt* (!) (d.h. waren gleich in der Anfangsaufstellung dabei oder wurden im Verlauf des Spiels eingewechselt)? Das Ergebnis soll (personid, name, vorname) lauten.
Ich habe auch schon eine Idee, aber die ist wohl falsch, weil meine Anfrage immer abgelehnt wird:
select spielerid, name, vorname from person inner join spielnominierung on (spielerid = personid) where instartelf = true and spielid = 787 or spielid = 837
union
select spielerid, name, vorname from person inner join spielnominierung on (spielerid = personid) inner join spielerwechsel on (reinspielerid = personid) where spielid = 787 or spielid = 837 and instartelf = false
Man erstellt zunächst eine Zwischentabelle mit allen Spielern, die in der Startelf bei den Spielen mit der ID 837 und 787 waren.
Dann habe ich eine weitere Zwischentabelle erstellt. In dieser werden alle Spieler aufgelistet, die nicht in der Startelf waren und eingewechselt wurden (...inner join spielerwechsel on (reinspielerid = personid).
Zum Schluss wurden beide Tabellen verschmolzen, aber leider stimmt mein Ergebnis so nicht.
Kann mir jemand bitte einen Tipp geben? Sitze nun schon seit 40 Minuten an dieser Aufgabe und es ist einfach nur noch zum Verzweifeln