Hallo,
ich habe drei Tabellen:
tab_datum:
id|datum
tab_a:
datum_id|wert_a
tab_b:
datum_id|wert_b
Eine Abfrage wie:
select year(datum) as group_a, month(datum) as group_b, sum(wert_a) from tab_a, tab_datum
where tab_datum.id=tab_a.datum_id
and tab_datum.datum >= '2007-01-01' group by group_a, group_b
funktioniert einwandfrei (genauso natürlich mit tab_b)!
Wenn ich aber die Daten zusammenfassen möchte, kommen horrende (zu große Zahlen) raus, d.h. irgendwie sieht es nach einem Kreuzprodukt aus, das wohl irgendwie an der Gruppierung liegt:
select year(datum) as group_a, month(datum) as group_b, sum(wert_a), sum(wert_b) from tab_a, tab_b, tab_datum
where tab_datum.id=tab_a.datum_id
and tab_datum.id=tab_b.datum_id
and tab_datum.datum >= '2007-01-01' group by group_a, group_b
Muß ich das in subselects formulieren?
Wo ist der Gedankenfehler bzw. was macht mysql an dieser Stelle genau?
Danke!!!