Hi,
SELECT projectteam_id, SUM( value*2 ) AS 2er
FROM jos_joomleague_match_statistic
WHERE statistic_id =3
GROUP BY projectteam_id
LIMIT 0 , 30
>
> ~~~sql
SELECT projectteam_id, SUM( value*5 ) AS 5er
> FROM jos_joomleague_match_statistic
> WHERE statistic_id =4
> GROUP BY projectteam_id
> LIMIT 0 , 30
Kann jemand behilflich sein? Das Resultat sollte zum Beispiel so sein:
projectteam_id | 2er | 5er
1 | 50 | 12
2 | 18 | 28
3
Ne, so sollte das Resultat auf keinen Fall aussehen, denn SUM( value*5 ) AS 5er kann nur Werte ergeben, die durch 5 teilbar sind ... ;-)
Das WHERE muß natürlich aufgebohrt werden, damit sowoh 3 als auch 4 erlaubt ist, also IN (3, 4).
Damit für die 2er nur die passenden Werte (statistic_id = 3) gezählt werden, sollte der value noch mit 1 (falls statistic_id = 3) bzw. 0 (fallst statistic_id nicht 3) multipliziert werden.
Die meisten DB-Systeme kennen eine IF-Funktion oder ähnliches. Du verrätst ja nicht, welches Du benutzt.
Also in etwa so:
SUM( value*5*IF(statisitic_id=3;1;0) ) AS 2er
Genaue Syntax für IF verrät Dir das Handbuch Deines DB-Systems.
Für die 5er analog, mit statistic_id = 4, als zusätzliche Spalte beim select.
Ob Du das LIMIT (ok, Oracle benutzt Du nicht ...) auf 60 erhöhen willst, mußt Du selbst wissen.
(übrigens: mir kommt das LIMIT ohne ORDER BY verdächtig vor ...)
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.