n'abend,
ich greife meiner anderen Antwort mal vorweg:
SELECT t.benutzer, SUM(t.punkte) AS punkte
FROM test t
JOIN
(
SELECT q.spiel
FROM test q
WHERE q.benutzer = t.benutzer
ORDER BY q.spiel
LIMIT 3
) AS s
WHERE t.spiel = s.spiel
GROUP BY t.benutzer
ORDER BY punkte DESC
>
> Allerdings bekomme ich nun immer wieder den MySQL-Fehler "Unknown table 't' in where clause", da man wohl nicht im Join auf eine ausserhalb liegende Tabelle referenzieren kann?!?
Diese unbenannten Views werden VOR dem JOIN ausgeführt, was bedeutet, dass wir da nicht korrelierend drauf agieren können.
Die "innere" Abfrage wird also ausgeführt bevor die Datensätze geJOINt werden. Das bedeutet, dass du innerhalb eines unbenannten Views nicht auf andere Tabellen (außer sie sind darin geschachtelt) zugreifen kannst.
> Aber diese Referenz brauche ich ja, da für jeden einzelnen Mitspieler die letzten 3 mitgespielten Runden ermittelt werden und nicht für die Allgemeinheit, oder?!?
Genau \*das\* ist das Problem das ich gerade zu lösen versuche. Allerdings kommt hier nur eine reichlich eklige Abfrage raus. Dauert noch nen Moment...
weiterhin schönen abend...
--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|