Hi,
Das Problem ist, das eine einfache Gruppierung über spielerId bzw doppelpartnerId nicht ausreicht, weil die Doppelpaarungen ja immer noch unterschiedlich sein können. Ich bräuchte also eine Abfrage die zuerst nach spielerId gruppiert und danach nach doppelparnterId, und über den entstehenden resultaten dann die SUM() für gewonnen und verloren aufruft.
ähm, was ist dein Problem? Du möchtest alle zusammenfassen, bei denen spielerId und doppelpartnerId übereinstimmen. Tu das, streich einfach aus deinem Syntaxvorschlag das zweite GROUP BY
GROUP BY spielerId, doppelpartnerId
Oder übersehe ich jetzt was?
Schön wäre auch, wenn in der gleichen Abfrage statt der SpielerIds die Namen der Spieler ausgegeben würden (Verknüpfung bilanzen.spielerId/doppelpartnerId mit Tabelle spieler.name), aber das wäre ja auch noch anders lösbar (über zusätzliche Abfragen), wenn ich erstmal die Ids habe.
Das ist sicherlich eine spannende Frage. Ich - als Freund von Subselects - würde die gesamte obige Abfrage in ein Subselect packen und einen Join in die Namenstabelle auf Basis der IDs anschließen. Ob das DBMS das mitmacht hängt davon ab was du im Einsatz hast.
Alternativ könntest du den Join auch schon in der Abfrage mit einfließen lassen und anschließend nach ID+Name gruppieren.
MfG
Rouven
-------------------
Inter Arma Enim Silent Leges -- Cicero