Я написал эту хранимую процедуру, которая возвращает данные полностью, как и ожидалось, в Excel-подобной таблице. Теперь я хотел бы добавить 2 столбца:
- Сумма значений всех предыдущих столбцов
- Рассчитать процент от этой суммы, рассчитанный на сумму последней строки
Я пытался вычислить напрямую при первом выборе, но никак не мог.
Любое предложение приветствуется.
Спасибо.
CREATE PROCEDURE proc_presenze
(
@month VARCHAR(6),
@group INT
)
AS
BEGIN
SELECT FINCode, Nachname, Vorname, Gruppe, [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31]
FROM (SELECT BK_Athleten.FINCode, BK_Athleten.Nachname, BK_Athleten.Vorname, BK_Athleten.Gruppe, RIGHT(BK_Einheiten.Datum, 2) AS Day, BK_Anwesend.IDPres
FROM BK_Anwesend INNER JOIN
BK_Athleten ON BK_Anwesend.FINCode = BK_Athleten.FINCode INNER JOIN
BK_Einheiten ON BK_Anwesend.IDEinheit = BK_Einheiten.IDEinheit
WHERE BK_Athleten.Gruppe = @group AND LEFT(BK_Einheiten.Datum, 6) = @month) AS PVT
PIVOT
(
Count(IDPres)
FOR Day IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15],
[16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31] )
) AS PRT
END