Как напечатать более одной величины в сводной таблице? - PullRequest
0 голосов
/ 19 марта 2020

У меня есть таблица посещений

Attendances Table

, а затем я делаю отчет, используя этот запрос

SET @sql = NULL;
    SELECT 
      GROUP_CONCAT(DISTINCT
        CONCAT(
          'MAX(case when `tanggal` = ''',
          `tanggal`,
          ''' then `in_time`  end) AS `',
          `tanggal`, '`'
        )  ORDER BY `id_employee` ASC SEPARATOR ',\n'
      ) INTO @sql
    FROM `attendances` ;
        SET @sql2 = CONCAT('SELECT id_employee, ', @sql, ' FROM attendances GROUP BY id_employee');
    PREPARE stmt FROM @sql2;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;

Выходной запрос: Output Query

Вопрос: я хочу напечатать in_time и out_time после пункта then? Возможно ли это?

1 Ответ

0 голосов
/ 19 марта 2020
SET @sql = NULL;
    SELECT 
      GROUP_CONCAT(DISTINCT
        CONCAT(
          'MAX(case when `tanggal` = ''', `tanggal`, ''' then CONCAT(in_time,''-'', out_time)  end) AS `', `tanggal`, '`'
        )  ORDER BY `id_employee` ASC SEPARATOR ',\n'
      ) INTO @sql
    FROM `attendances` ;
        SET @sql2 = CONCAT('SELECT id_employee, ', @sql, ' FROM attendances GROUP BY id_employee');
    PREPARE stmt FROM @sql2;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
...