Stimmt. Man könnte die eigentliche Abfrage nur auf die Projektteams einschränken und mit 2 Joins (jeweils für id 3 und 4) arbeiten. Die Aliases in WHERE/GROUP BY hatte ich schlicht vergessen. In so einer 2-Join-Variante könnte man sich durch
DISTINCT
auch dasGROUP BY
sparen.
SELECT
DISTINCT Basis.projectteam_id
, SUM( A.value2 ) AS 2er
, SUM( B.value5 ) AS 5er
FROM jos_joomleague_match_statistic AS Basis
LEFT JOIN jos_joomleague_match_statistic AS A ON
A.projectteam_id = Basis.projectteam_id
AND A.statistic_id = 3
LEFT JOIN jos_joomleague_match_statistic AS B ON
B.projectteam_id = Basis.projectteam_id
AND B.statistic_id = 4
LIMIT 0 , 30
> (auch ungetestet)
>
> Grüße Marco
Wow erstmal danke für die Hilfe, das übersteigt meine Kenntnisse. Wo genau hast du nun definiert, dass nur projectteam\_id 2 abgefragt wird? Hab's kurz ausprobiert erhalte aber (wohl) noch nicht das gewünschte. AUsgegeben wird nun folgendes:
projectteam\_id | 2er | 5er|
2 | 230364 |NULL|
Die NULL stimmt, da beim Team 2 keine Werte mit statistic\_id = 4 existieren. Der Wert für 2er also statistic\_id = 3 ist allerdings viel zu hoch. Da dürften nur 106 stehen.