yo,
ARG :-) Nene das geht schon so, nur das war die eine Variante die ich noch nicht ausprobiert hatte.
besser als ausprobieren wäre ein blick in die online-doku gewesen, dort stehen auch beispiele für gruppierungen.
SELECT
(SELECT name FROM spieler WHERE id = spielerId) AS spieler1,
(SELECT name FROM spieler WHERE id = doppelpartnerId) AS spieler2, SUM( gewonnen ) AS gew, SUM( verloren ) AS verl
FROM bilanzen
GROUP BY spielerId, doppelpartnerId
HAVING doppelpartnerId IS NOT NULL
erstens wäre ich bei mehreren tabellen vorsichtig, was die eindeutigkeit von spaltennamen angeht, sprich ich würde die tabellennamen noch zu den spaltennamen hinzufügen, beispiel:
(SELECT spieler.name FROM spieler WHERE spieler.id = bilanzen.spielerId) AS spieler1
wenn du willst, kannst du auch aliasnamen für die tabellen benutzen. des weiteren hat die bedingung doppelpartnerId IS NOT NULL nichts in der HAVING klausel zu suchen, sondern gehört in die WHERE klausel. und drittens fäßt du spiele nicht zusammen, wo die reihenfolge der spielerID und der doppelpartnerID genau umgekehrt ist. oder aber du hast redundanz in der tabelle, wenn du jeweils für jeden doppelpartner einen datensatz speicherst. letztlich ist meiner meinung nach die problematik auf das daten-design zurückzuführen.
vielleicht ließt du das ja hier noch, in aller regel melden man sich nicht mehr, wenn man glaubt, eine lösung gefunden zu haben.
Ilja