У меня есть следующая таблица:
groupof dateof statusof
A 2020-01-01 00:00:00 YES
A 2020-02-01 00:00:00 NO
A 2020-03-01 00:00:00 YES
B 2020-01-01 00:00:00 YES
Затем у меня следующий запрос:
DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX);
select @cols = STUFF((SELECT ',' + QUOTENAME(dateof) from Table1 group by dateof order by dateof
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')
set @query = 'SELECT groupof,' + @cols + ' from
(select groupof, dateof, statusof from Table1) x
pivot
(count(statusof) for dateof in (' + @cols + ')) p '
execute(@query);
Результат:
groupof 2020-01-01 00:00:00 2020-02-01 00:00:00 2020-03-01 00:00:00
A 1 1 1
B 1 0 0
Я хочу получить следующий результат:
groupof 2020-JAN 2020-FEB 2020-MAR
A YES NO YES
B YES NULL NULL
Как мне этого добиться?