misterunknown: 2 sql Abfragen kombinieren

Beitrag lesen

Moin,

Wenn ich das richtig sehe, werden dann projectteams, für die es keine Zeile mit statistic_id=3 gibt (sondern nur eine mit statistic_id=4), gar nicht berücksichtigt.
(im WHERE/GROUP BY müßte m.E. auch noch der jeweilige Tabellen-Alias mit dazu.)

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 das GROUP BY sparen.

SELECT  
     DISTINCT Basis.projectteam_id  
     , SUM( A.value*2 ) AS 2er  
     , SUM( B.value*5 ) 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

--
Ich spreche Spaghetticode - fließend.