Проблема ниже в MYSQL запросе имен динамических c столбцов. Заметил, что он работает нормально, когда значения столбца T_Date являются алфавитами, и проблема, кажется, возникает только со значениями даты.
Есть идеи, что не позволяет работать со значениями дат? Я чувствую, что мне нужно преобразовать в строку при возврате, но не уверен, так как я не эксперт БД.
также, прикрепляя скриншот таблицы для справки :
Копирование SQL Ссылка Fiddler для быстрой проверки http://sqlfiddle.com/#! 9 / 43f654 / 1
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'sum(case when T_Date= ''',
T_Date,
''' then T_W_Hours else 0 end) AS ',
T_Date
)
) INTO @sql
FROM timesheet;
SET @sql = CONCAT('SELECT T_empid, ', @sql, ', sum(T_W_Hours) as `count`
FROM timesheet
GROUP BY T_empid');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
1 :