Попытка развернуть данные и добавить вычисляемый столбец безрезультатно.
Я попробовал приложенный код ниже, но не могу получить именно то, что мне нужно.
Моя таблица состоит из трех столбцов
TABLE_NAME, REPORT_DATE, COUNT_ROWS
Для последних двух [REPORT_DATE] я пытаюсь отобразить в сводной области [COUNT_ROWS]за каждого [TABLE_NAME]
Что мне не хватает? Кроме того, как мне добавить столбец, вычитающий значения между двумя датами в сводной таблице?
DECLARE @cols AS NVARCHAR(MAX)='';
DECLARE @query AS NVARCHAR(MAX)='';
SELECT @cols = @cols + QUOTENAME(REPORT_DATE) + ',' FROM (select DISTINCT TOP 2 REPORT_DATE from account_report order by REPORT_DATE desc) as tmp
select @cols = substring(@cols, 0, len(@cols)) --trim "," at end
set @query =
'SELECT * from
(select [TABLE_NAME], [COUNT_ROWS] from account_report
) src
pivot
(sum([COUNT_ROWS]) for [TABLE_NAME] in (' + @cols + ')
) piv'
execute(@query)
Все, что я получаю из сценария, это результат двух столбцов двух [REPORT_DATE] с1 строка с нулевыми значениями (хотя мои данные содержат строки)