I am trying to do a dynamic pivot in mysql but it is saying that a I have a syntax error, how could I correct this?:
MySql 7
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'SUM(CASE WHEN subject = "',
subject,'" AND ',
(CASE WHEN media IS NOT NULL
THEN CONCAT("media = ",media)
ELSE media IS NULL END),
' THEN 1 ELSE 0 end) AS ',
subject, IFNULL(media,'')
)
)
INTO @sql
FROM
cs_media_simonline;
SET @sql = CONCAT('SELECT user_id, ', @sql, '
FROM cs_media_simonline
GROUP BY user_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
This the error:
'.0000000,SUM(CASE WHEN subject = "MATEMATICA" AND media = 0.0000000 THEN 1 ELSE' row 1