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