MYSQL Сводная таблица с динамикой c Имя столбца - PullRequest
0 голосов
/ 18 марта 2020

Проблема ниже в MYSQL запросе имен динамических c столбцов. Заметил, что он работает нормально, когда значения столбца T_Date являются алфавитами, и проблема, кажется, возникает только со значениями даты.

Есть идеи, что не позволяет работать со значениями дат? Я чувствую, что мне нужно преобразовать в строку при возврате, но не уверен, так как я не эксперт БД.

enter image description here

также, прикрепляя скриншот таблицы для справки :

Копирование SQL Ссылка Fiddler для быстрой проверки http://sqlfiddle.com/#! 9 / 43f654 / 1

enter image description here

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 :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...