चूंकि मान int
. में हैं आप उन्हें कॉलम नाम बना रहे हैं, आपको मानों को बैकटिक में लपेटना होगा
एसक्यूएल इस तरह दिखेगा:
max(case when user_id = 1 then score end) as `1`
पूरी क्वेरी होगी:
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'max(case when user_id = ''',
user_id,
''' then score end) AS `',
user_id, '`'
)
) INTO @sql
FROM measure2;
SET @sql = CONCAT('SELECT inspection_date, ', @sql, '
FROM measure2
GROUP BY inspection_date');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
देखें SQL Fiddle with Demo