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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage