В нынешнем виде вам даже не нужен запрос crosstab()
для этого. Просто:
SELECT name, AttendHour1 AS "2018-10-01", AttendHour2 AS "2018-10-02"
FROM time;
Если вы хотите назначить столбцу имена динамически из столбца значения : это невозможно. SQL не допускает динамических имен столбцов. Вам нужен двухэтапный рабочий процесс:
1. Создайте строку запроса динамически.
Чтобы сгенерировать вышеуказанный запрос:
SELECT format('SELECT name, AttendHour1 AS %I, AttendHour2 AS %I FROM time'
, date1, date2)
FROM time
LIMIT 1;
2. Выполните запрос.