Stefan: Query gesucht

Beitrag lesen

Die linke Subquery liefert eine Zahl, die Anzahl der Einträge in der m:n-Tabelle, also eigentlich alle vorhandenen Spieler-Spiel-Zuordnungen. Dieser Wert wäre jedoch nicht nützlich für die Lösung deines Problems. Angenommen du hast da stattdessen die Spiele-Tabelle, dann würde das einen Sinn ergeben, hilft dir aber auch nicht weiter, wie ich gleich noch erläutern werde. Die rechte Subquery sollte eigentlich auf die m:n-Tabelle laufen. Du hast da wohl die Bezeichnungen verdreht. Aber auch die richtige Benennung bringt dich nicht voran. Das Ergebnis ist jedenfalls die Anzahl der Spiele des Spielers, der am meisten an allen Spielen teilgenommen hat. Wenn er keins ausgelassen hat, ist das Ergebnis gleich der linken Query, ansonsten ist es ungleich. Bis jetzt hast du ein boolesches Ergebnis vorliegen, weil du etwas miteinander verglichen hast. In MySQL wird das zu 1 oder 0. Und nun vergleichst du die SID damit. Du bekommst also den Namen des Spielers mit der ID 1 (so vorhanden), wenn mindestens einer der Spieler an allen Spielen teilgenommen hat, ansonsten eine leere Menge.

Hi dedlfix,

super erklärt und alle Annahmen stimmen.
1. Habe ich die Bezeichnungen verdreht, das war flüchtigkeitsfehlerhafterweise so.
2. Bekomme ich tatsächlich den Namen des Spielers mit der SID 1 heraus (weil ich eigens einen Spieler angelegt hatte, der an allen Spielen teilnahm --> der hatte allerdings eigentlich die SID 2 --> ich weiß nun, warum mir dieser nicht angezeigt wurde).

Dank Dir

Stefan