MySQL-Pivot-Abfrage
Früher hatte ich eine Frage
SELECT ps_target_ecpm, ps_actual_ecpm
FROM publisher_stats
JOIN domain ON domain.dmn_id = ps_dmn_id
LEFT JOIN langue ON langue.lng_id = domain.default_lng_id
WHERE MONTH(ps_month) = 05
Das Ergebnis, das ich brauche, sollte so aussehen
may_target_ecmp, may_actual_ecpm, april_target_ecpm, april_actual_ecpm, march_target_ecpm, march_actual_ecpm.
Für April MONAT (ps_Monat) = 04 und für März MONAT (ps_Monat) = 03.
Nach einigem Nachfragen kam ich zu einer Frage, die so aussieht
SELECT
(CASE WHEN MONTH(ps_month) = 4 THEN ps_target_ecpm ELSE 0 END) AS april_target_ecpm,
(CASE WHEN MONTH(ps_month) = 4 THEN ps_actual_ecpm ELSE 0 END) AS april_actual_ecpm,
(CASE WHEN MONTH(ps_month) = 3 THEN ps_target_ecpm ELSE 0 END) AS march_target_ecpm,
(CASE WHEN MONTH(ps_month) = 3 THEN ps_actual_ecpm ELSE 0 END) AS march_actual_ecpm
FROM publisher_stats
JOIN domain ON domain.dmn_id = ps_dmn_id
LEFT JOIN langue ON langue.lng_id = domain.default_lng_id
Das Resultset, das ich erhalte, ist nicht ganz das, was ich brauche. Die Beispielantwort lautet:
0 0 0.48 0.27
0.48 0.47 0 0
Während ich es brauche, um in einer Reihe zu sein
0.48 0.47 0.48 0.27
Könnten Sie mir bitte helfen, herauszufinden, wie diese Abfrage das bewirkt, was beabsichtigt ist? Danke im Voraus
P.S. Diese Frage kommt den ganzen Weg von dieser Frage -mysql pivoting - wie kann ich daten aus der gleichen tabelle in verschiedene spalten holen?