kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspUpdateAtlagByTanev.sql
2024-03-13 00:33:46 +01:00

34 lines
1.4 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspUpdateAtlagByTanev
GO
CREATE PROCEDURE uspUpdateAtlagByTanev
@pTanevId int
,@pIntezmenyId int
,@pFelhasznaloId int
AS
BEGIN
UPDATE tta SET
C_SULYOZOTTOSZTALYZATOSSZEGE = x.C_SULYOZOTTOSZTALYZATOSSZEGE
,C_SULYOZOTTOSZTALYZATSZAMA = x.C_SULYOZOTTOSZTALYZATSZAMA
,MODIFIER = @pFelhasznaloId
FROM T_TANULOTANTARGYATLAG_OSSZES tta
INNER JOIN (
SELECT
er.C_TANULOID,
er.C_TANTARGYID,
SUM(d.C_VALUE * em.C_SULY) AS C_SULYOZOTTOSZTALYZATOSSZEGE,
SUM(em.C_SULY) AS C_SULYOZOTTOSZTALYZATSZAMA,
feh.C_OKTATASINEVELESIFELADATTIPUS AS C_OKTATASNEVELESIFELADATID
FROM T_TANULOERTEKELES_OSSZES er
INNER JOIN T_ERTEKELESMOD_OSSZES em ON em.ID = er.C_ERTEKELESMODID AND em.C_ALTANEVID = er.C_TANEVID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = er.C_ERTEKELESOSZTALYZATID AND d.C_TANEVID = er.C_TANEVID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = er.C_OSZTALYCSOPORTID
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID
WHERE er.C_TANEVID = @pTanevId
AND er.C_INTEZMENYID = @pIntezmenyId
AND er.C_TIPUSID = 1518
AND er.TOROLT = 'F'
GROUP BY er.C_TANULOID, er.C_TANTARGYID, feh.C_OKTATASINEVELESIFELADATTIPUS
) x ON x.C_TANULOID = tta.C_TANULOID AND x.C_TANTARGYID = tta.C_TANTARGYID AND x.C_OKTATASNEVELESIFELADATID = tta.C_OKTATASNEVELESIFELADATID
END
GO