Много таких вопросов, но не могу найти ничего, что соответствует тому, что я ищу.
Я использую код из другого поста, который отлично работает, но я хотел бы изменить его, чтобы добавить строку итогов внизу таблицы.
Предыдущий пост, чтобы создатель получил признание: Динамический свод SQL Server с несколькими столбцами< /а>
Моя текущая таблица выглядит так:
Work_Group | Avg | 01/01/2021 | 01/01/2021 | 01/01/2021 | ect... |
---|---|---|---|---|---|
Blue | 5 | 2 | 5 | 8 | |
Green | 5 | 2 | 5 | 8 |
Цель:
Work_Group | Avg | 01/01/2021 | 01/01/2021 | 01/01/2021 | ect... |
---|---|---|---|---|---|
Blue | 5 | 2 | 5 | 8 | |
Green | 5 | 2 | 5 | 8 | |
TOTAL | 10 | 4 | 10 | 16 |
Текущий код:
DECLARE @colsEAST AS NVARCHAR(MAX);
DECLARE @pivotCountEAST AS NVARCHAR(MAX);
DECLARE @sqlEAST AS NVARCHAR(MAX);
SELECT @colsEAST = ISNULL(@colsEAST + ', ', '') + QUOTENAME(Load_Date)
FROM (SELECT DISTINCT Load_Date FROM ##CE_tmpEast_ALL) AS Load_Date
SET @pivotCountEAST = N'SELECT Work_Group, ' + @colsEAST +'
FROM (SELECT Work_Group, Load_Date, Count FROM ##CEtmp_East_ALL) AS Count
PIVOT(SUM(Count) FOR Load_Date IN (' + @colsEAST + ')) AS pvt';
SET @sqlEAST = '; WITH MTD_CountPivot AS (
'+@pivotCountEAST+'
),
MTD_Pivot_Tables AS (
SELECT Work_Group, AVG(Count) AS [AVG Count]
FROM ##CEtmp_East_ALL
GROUP BY Work_Group
)
SELECT MTD_CountPivot.Work_Group, MTD_Pivot_Tables.[AVG Count], ' + @colsEAST + '
FROM
MTD_CountPivot
INNER JOIN MTD_Pivot_Tables ON MTD_CountPivot.Work_Group = MTD_Pivot_Tables.Work_Group';
EXEC sp_executesql @sqlEAST;
Любая помощь будет принята с благодарностью!!!
Спасибо