Zum Inhalt springen

Hilfe bei SQL Aufgabe


Vanessa90

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Programm sagt immer: "Error: FEHLER: ResultException: The number of result tupel differs from the number of expected tupels"

ich habe wohl in meiner Ergebnistabelle entweder zu viele oder zu wenig Datensätze.

Aber warum? Mit distinct klappt es auch nicht :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi flashpix,

Oh nein! Ich weiß jetzt, glaube ich, was du meinst :)))

Man muss die Spieler heraussuchen, die in BEIDEN Spielen gespielt haben.

Ich habe jedoch ALLE Spieler, die in beiden Spielen gespielt haben, herausgesucht.

Zunächst sucht man die Spieler heraus, die an Spiel 787 teilgenommen und gespielt (standen auf dem Spielfeld) haben.

Dann sucht man die Spieler heraus, die an Spiel 837 teilgenommen haben und gespielt (standen auf dem Spielfeld) haben.

Danach bildet man den Durchschnitt zwischen beiden Mengen.

Als Ergebnis bekommt man eine Tabelle mit Spielern, die in BEIDEN Spielen gespielt haben.

Jetzt muss man die Anfrage noch irgendwie um Spieler erweitern, die später in beiden Spielen eingewechselt wurden.

Ich muss das schnell ausprobieren, leider habe ich in meiner Wohnung nur GPRS und der VPN Zugang stürzt immer ab. Muss wohl wieder in die Bücherei :beagolisc

Danke für den Tipp mit den Mengendiagrammen!

Werde mich nachher wieder melden und berichten, ob es geklappt hat :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...