Hallo,
Ich habe eine recht komplexe Abfrage und komme nicht wirklich weiter. In einer Tabelle habe ich alle Spiele eines Kunden und ich brauche aus dieser Tabelle von bestimmten Kunden die Anzahl der Spiele und der generierte Umsatz vor einem Zeitpunkt X, zwischen Zeitpunkt X und Y und nach dem Zeitpunkt Y. AM ende möchte ich folgende Spalten haben:
Bis Umsatz_vorher habe ich auch keine Probleme:
Meine bisherige Abfrage:
eigentlich wollte ich mit einem weiteren LEFT JOIN Anzahl und Umsatz für den Between-Bereich ranhängen, was aber leider nicht so klappte. Gibt es vielleicht eine einfachere Möglichkeit?
Gruß, Pat
Ich habe eine recht komplexe Abfrage und komme nicht wirklich weiter. In einer Tabelle habe ich alle Spiele eines Kunden und ich brauche aus dieser Tabelle von bestimmten Kunden die Anzahl der Spiele und der generierte Umsatz vor einem Zeitpunkt X, zwischen Zeitpunkt X und Y und nach dem Zeitpunkt Y. AM ende möchte ich folgende Spalten haben:
Code:
| cst_id | gah_group | gah_type | anzahl_vorher | umsatz_vorher | anzahl_between | ............ |
-------------------------------------------------------------------------------------------------
| 1111 | 1 | 1 | 100 | 5.000 | 3 |
| 1111 | 1 | 2 | 20 | 2.000 | null |
| 1111 | 7 | 7 | null | null | 3 |
| 2222 | 1 | 1 | null | null | 3 |
Bis Umsatz_vorher habe ich auch keine Probleme:
Meine bisherige Abfrage:
Code:
SELECT
bnc_cst_id,
gah_group,
gah_type,
Umsatz_vorher,
Anzahl_vorher
FROM
(
SELECT bnc_cst_id, pro_valid_from
FROM Bonuscards
INNER JOIN Promotions ON (pro_id = bnc_pro_id)
WHERE
bnc_cst_id is not null
AND
pro_id = 84
) as bonuscard_customer //Selektierung Kunden
LEFT JOIN
(
SELECT gah_cst_id, gah_type, gah_group, SUM(gar_amount) as Umsatz_vorher, COUNT(gah_gam_id) as Anzahl_vorher
FROM gamereceipts
INNER JOIN games ON (gam_id = gar_gam_id)
INNER Join games_history ON (gah_gam_id = gar_gam_id)
WHERE
gah_state IN (1,6,9) //Spiele, die teilnehmend, abgeschlossen oder archiviert sind
AND
gam_played < '2015-05-06 06:35:00'
GROUP BY
gah_cst_id, gah_type, gah_group
) as game_vorher
ON (game_vorher.gah_cst_id = bonuscard_customer.bnc_cst_id)
ORDER BY
bnc_cst_id
eigentlich wollte ich mit einem weiteren LEFT JOIN Anzahl und Umsatz für den Between-Bereich ranhängen, was aber leider nicht so klappte. Gibt es vielleicht eine einfachere Möglichkeit?
Gruß, Pat