Consulta de MySQL pivote
Solía tener una consulta
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
El resultado que necesito debería parecer
may_target_ecmp, may_actual_ecpm, april_target_ecpm, april_actual_ecpm, march_target_ecpm, march_actual_ecpm.
Para el mes de abril (ps_month) = 04 y para el mes de marcha (ps_month) = 03 respectivamente.
Después de algunas preguntas, terminé con una consulta como esta.
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
El resultado que obtengo no es exactamente lo que necesito. La respuesta del ejemplo es:
0 0 0.48 0.27
0.48 0.47 0 0
Mientras lo necesito para estar en una fila
0.48 0.47 0.48 0.27
¿Podría por favor ayudarme a averiguar cómo hacer que esta consulta haga lo que se pretende? Gracias por adelantado
PD Esta pregunta viene desde esta pregunta -mysql pivoting: ¿cómo puedo obtener datos de la misma tabla en diferentes columnas?