У меня есть динамический запрос PIVOT, в котором столбцы динамически генерируются.SUM динамических столбцов в таблице PIVOT в SQL Server
Мой стол: ATTENDANCE_MASTER Содержит: ID, Stud_id, ATT_DATE, НАСТОЯЩЕЕ
, которая хранит данные, такие как:
ID Stud_id ATT_DATE PRESENT
1 1 2015-08-1 1
2 2 2015-08-1 0
3 3 2015-08-1 1
4 1 2015-08-2 0
5 2 2015-08-2 1
6 3 2015-08-2 1
я создал PIVOT Query
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
SET @columns = N'';
SELECT @columns += N', p.' + QUOTENAME(ATT_DATE)
FROM (SELECT p.ATT_DATE FROM dbo.ATTENDANCE_MASTER AS p
GROUP BY p.ATT_DATE) AS x;
SET @sql = N'SELECT Stud_id, ' + STUFF(@columns, 1, 2, '') + '
FROM
(
SELECT p.ATT_DATE, p.Stud_id, p.PRESENT FROM dbo.ATTENDANCE_MASTER AS p
) AS j
PIVOT
(
SUM(PRESENT) FOR ATT_DATE IN ('+ STUFF(REPLACE(@columns, ', p.[', ',['), 1, 1, '') + ')
) AS p;';
PRINT @sql;
EXEC sp_executesql @sql;
мне нужна сумма колонны, такие как
Stud_ID 2015-08-01 2015-08-2 2015-08-3 Total
1 1 0 1 2
2 1 1 1 3
3 1 1 0 2
4 0 0 1 1
Пожалуйста, предложите мне решение.
Спасибо заранее.
Я знаю, как сделать сумму статических столбцов, но я не знаю, как суммировать динамические столбцы – QuaBizIT
Какой результат у вас есть? –
Что здесь динамично? количество столбцов даты? –