Franco: mysql Addieren von 2 Ergebnissmengen möglich?

Beitrag lesen

wo ist die GROUP-BY-Klausel?
wo ist die GROUP-BY-Klausel?
Da ist sie da. Warum entfernst Du diese in Deinen beiden Abfragen, die Du per UNION verknüpfst?

Das hatte ich ursprünglich nicht, aber

  
SELECT  
gesamt.ym,  
SUM(gesamt.zeit)  
FROM (  
SELECT FROM_UNIXTIME(JoggingTimestamp, '%Y%|%m') AS ym, SUM(JoggingZeit) AS zeit  
FROM Jogging  
WHERE UserId ='1'  
GROUP BY ym DESC LIMIT 12  
  
UNION ALL  
  
SELECT FROM_UNIXTIME(KinoTimestamp, '%Y%|%m') AS ym, SUM(KinoZeit) AS zeit  
FROM Kino  
WHERE UserID='1'  
GROUP BY ym DESC LIMIT 12  
  
) gesamt  
GROUP BY gesamt.ym DESC LIMIT 12  

liefert dasselbe Ergebniss wie die alleinige Abfrage nach der beim Jogging verbrachten Zeit. Die Kinozeit wird einfach nicht aufaddiert.

Gehe schrittweise vor:

a) Du hast Deine Einzelabfragen, die Dir Kino und Joggen liefern.

Ja.

b) Fasse die beiden Ergebnisse in *einer* Ergebnismenge zusammen: UNION

So wie oben gemacht??

c) Summiere und gruppiere über das Ergebnis aus b)

Da liegt wohl noch ein Fehler bei meiner Abfrage vor?

Ich les nun schon seit Stunden alles über union und Konsorten, aber der Groschen will nicht fallen.

Grüße, Franco