MySQL Forums
Forum List  »  German

Abfrage über 3 Tabellen und Summierung
Posted by: Juergen Hausler
Date: August 24, 2010 11:10AM

Hallo!

Ich habe 3 Tabellen, die relevanten Spalten sind:

tabuser:
- nickname

tabtipps:
- nickname
- punkte

tabzwtipps:
- nickname
- punkte

nickname ist durchgängig quasi die ID, punkte sind TINYINT.
Jeder User kann(muss nicht) in beiden Tabellen vorkommen, auch öfters da hier diverse Spiele getippt werden... Punkte kann aber auch NULL sein!

Ich muss es jetzt irgendwie hinbekommen ein Gesamtranking zu erstellen, also vom Prinzip her:

Gesamtsumme aller Punkte je User
(die Sortierung bring ich noch hin..)

Ich habe mal so angefangen, aber komme jetzt irgendwie nicht mehr weiter...

SELECT *, (t.Punkte+z.Punkte) AS Gesamt
FROM tabuser u
LEFT JOIN tabtipps t
ON u.Nickname = t.Nickname
LEFT JOIN tabzwtipps z
ON u.Nickname = z.Nickname

Hat jemand einen Tipp für mich, ich muss ansonsten 3x abfragen und mit PHP und Arrays mir das Ganze zusammensammeln ..

Danke!


//---EDIT -----

Ich hab eben eine Variante noch gefunden, die liefert mir - bis auf den ersten korrekte Werte



SELECT u.Nickname, SUM( coalesce(t.Punkte, 0) + coalesce(z.Punkte,0) ) AS UserSumme
FROM tabuser u
LEFT JOIN tabtipps t
ON u.Nickname = t.Nickname
LEFT JOIN tabzwtipps z
ON u.Nickname = z.Nickname
GROUP BY u.Nickname
ORDER BY UserSumme DESC, Nickname ASCBringt dann raus:



Nickname UserSumme
Hiasi 178
Franzi 13
Hans 8
Karli 7
Seppi 5
admin 0

Der erste Wert müsste eigentlich 30 sein, die anderen stimmen...
Geht es so auch irgendwie oder doch ifnull ??

//EDIT 2-------------

So funktioniert es...
SELECT u.Nickname, IFNULL(t.Punkte, 0) + IFNULL(z.Punkte, 0) UserSumme
FROM tabuser u
LEFT JOIN (
SELECT Nickname, SUM(Punkte) Punkte
FROM tabtipps
GROUP BY Nickname
) t
ON u.Nickname = t.Nickname
LEFT JOIN (
SELECT Nickname, SUM(Punkte) Punkte
FROM tabzwtipps
GROUP BY Nickname
) z
ON u.Nickname = z.Nickname
GROUP BY u.Nickname
ORDER BY UserSumme DESC, Nickname ASC


Juergen



Edited 4 time(s). Last edit at 08/24/2010 11:11PM by Juergen Hausler.

Options: ReplyQuote


Subject
Views
Written By
Posted
Abfrage über 3 Tabellen und Summierung
2703
August 24, 2010 11:10AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.