Franco: mysql Addieren von 2 Ergebnissmengen möglich?

Beitrag lesen

Hallo Vinzenz,

ausführlicher war ich in </archiv/2009/10/t192108/#m1281663>.

Ich habe versucht, das umzusetzen, aber es klappt noch nichnt so recht.

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

Nochmal die Problembeschreibung:

Der User mit der ID 1 geht ab und an joggen und ab und an ins Kino.

In der Tabelle "Jogging" stehen als die Zeit, aber auch Strecke, Wetter, Puls, usw.
In der Tabelle Kino stehen neben der Zeit noch Film, Schauspieler, Bewertung, usw.

Als Ergebniss möchte ich eine monatliche Auflistung der Zeit, die der User im letzen Jahr im Kino oder beim Jogging verbracht hat.

Nur die im Kino verbrachte Zeit frage ich z.B. so ab:

  
SELECT FROM_UNIXTIME(KinoTimestamp, '%Y%|%m') AS ym, SUM(KinoZeit) AS zeit  
FROM Kino  
WHERE UserID='1'  
GROUP BY ym DESC LIMIT 12  

Was muss ich an der obigen Gesamtabfrage ändern, bzw. was ist falsch an ihr?

Grüße, Franco