DROP PROCEDURE IF EXISTS sp_GetDokumentumMulasztasokIdoszakonkent GO CREATE PROCEDURE sp_GetDokumentumMulasztasokIdoszakonkent @tanevId int ,@osztalyCsoportId int ,@iskolaErdekuSzamit int ,@isReszletesMulasztasok int ,@elmeletiOraPercben int = 45 ,@gyakorlatiOraPercben int = 45 AS BEGIN SET NOCOUNT ON; DECLARE @MulasztasElmeletGyakorlat NVARCHAR(MAX) SELECT @MulasztasElmeletGyakorlat = ISNULL(@MulasztasElmeletGyakorlat + ', ', '') + '[' + ElmeletGyakorlat + ']' FROM ( SELECT CAST(Honap AS VARCHAR(3)) + Tipus ElmeletGyakorlat FROM (VALUES (9), (10), (11), (12), (1), (2), (3), (4), (5), (6), (7), (8)) HonapTmp(Honap) CROSS JOIN (VALUES ('E'), ('G')) TantargyTipus(Tipus) ) temp SELECT 'T' IgazoltE, ID TanuloId, TanuloCsoportId, Tipus INTO #Mulasztasok FROM #studentsWithTanuloCsoport CROSS JOIN (SELECT DISTINCT Id FROM T_DICTIONARYITEMBASE_OSSZES WHERE C_TANEVID = @tanevId AND C_TYPE LIKE 'igazolastipus' AND (@iskolaErdekuSzamit = 1 OR Id <> 1533) ) Tipus (Tipus) --hiányzás DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F') CREATE TABLE #MulasztasokTemp ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int, [1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int); CREATE TABLE #MulasztasVegleges ( TanuloId int,TanuloCsoportId int,Tipus nvarchar(max),[9E] int,[9G] int,[10E] int,[10G] int,[11E] int,[11G] int,[12E] int,[12G] int, [1E] int,[1G] int,[2E] int,[2G] int,[3E] int,[3G] int,[4E] int,[4G] int,[5E] int,[5G] int,[6E] int,[6G] int,FelevE int,FelevG int ,OsszesenE int,OsszesenG int,Rendez int); --igazolt mulasztás (start) tempbe mert beleszámoljuk az összegezettbe INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'igazolt' ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] ,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] ,2 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1500 )ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'T' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId --Igazolt mulasztás (end) --Igazolatlan mulasztás (start) tempbe mert beleszámoljuk az összegezettbe INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'igazolatlan' ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE ,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG ,2 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN (SELECT * FROM (SELECT Id, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1500 )ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1500 AND IgazoltE = 'F' AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId --Igazolatlan mulasztás (end) --Különbözo igazolás típusok (start) IF @isReszletesMulasztasok = 1 BEGIN INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT m.TanuloId ,m.TanuloCsoportId ,'-' + IgazolasTipus.C_NAME ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,[9E]+[10E]+[11E]+[12E]+[1E]+[2E]+[3E]+[4E]+[5E]+[6E] OsszesenE ,[9G]+[10G]+[11G]+[12G]+[1G]+[2G]+[3G]+[4G]+[5G]+[6G] OsszesenG ,IgazolasTipus.Id FROM #Mulasztasok m LEFT JOIN (SELECT * FROM (SELECT TanuloId, TanuloCsoportId, ElmeletGyakorlat, Id, IgazolasTipus, IgazoltE FROM #mulasztasTmp WHERE Tipus = 1500) a PIVOT (COUNT(ID) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv )ni ON ni.TanuloId = m.TanuloId AND ni.IgazolasTipus = m.Tipus AND m.TanuloCsoportId = ni.TanuloCsoportId INNER JOIN T_DICTIONARYITEMBASE_OSSZES IgazolasTipus ON IgazolasTipus.id = m.Tipus AND IgazolasTipus.TOROLT = 'F' AND IgazolasTipus.C_TANEVID = @tanevId LEFT JOIN (SELECT COUNT(Id) FelevE, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'F' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus )felevE ON felevE.tanulo = m.TanuloId AND felevE.IgazolasTipus = m.Tipus AND felevE.TanuloCsoportId = m.TanuloCsoportId LEFT JOIN (SELECT COUNT(Id) FelevG, TanuloId Tanulo, TanuloCsoportId, IgazolasTipus FROM #mulasztasTmp WHERE Datum <= @FelevVege AND Tipus = 1500 AND isGyakorlat = 'T' GROUP BY IgazoltE, TanuloId, TanuloCsoportId, IgazolasTipus )felevG ON felevG.tanulo = m.TanuloId AND felevG.IgazolasTipus = m.Tipus AND felevG.TanuloCsoportId = m.TanuloCsoportId END --Különbözo igazolás típusok (end) --Összesített késés (p) (start) INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'késés (p)' ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) OsszesenE ,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) OsszesenG ,50000 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE on felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG on felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId --Összesített késés (p) (end) --Igazolt késés (p) (start) INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'* igazolt (p)' ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) OsszesenE ,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) OsszesenG ,50001 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'T' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'T' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId ) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId --Igazolt késés (p) (end) --Igazolatlan késés (p) (start) INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'* igazolatlan (p)' ,ni.[9E], ni.[9G] ,ni.[10E],ni.[10G] ,ni.[11E],ni.[11G] ,ni.[12E],ni.[12G] ,ni.[1E],ni.[1G] ,ni.[2E],ni.[2G] ,ni.[3E],ni.[3G] ,ni.[4E],ni.[4G] ,ni.[5E],ni.[5G] ,ni.[6E],ni.[6G] ,FelevE ,FelevG ,ISNULL([9E],0)+ISNULL([10E],0)+ISNULL([11E],0)+ISNULL([12E],0)+ISNULL([1E],0)+ISNULL([2E],0)+ISNULL([3E],0)+ISNULL([4E],0)+ISNULL([5E],0)+ISNULL([6E],0) OsszesenE ,ISNULL([9G],0)+ISNULL([10G],0)+ISNULL([11G],0)+ISNULL([12G],0)+ISNULL([1G],0)+ISNULL([2G],0)+ISNULL([3G],0)+ISNULL([4G],0)+ISNULL([5G],0)+ISNULL([6G],0) OsszesenG ,50002 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN (SELECT * FROM (SELECT KesesPercben, ElmeletGyakorlat, TanuloId, TanuloCsoportId, IgazoltE, Tipus FROM #mulasztasTmp) a PIVOT (SUM(KesesPercben) FOR ElmeletGyakorlat IN ([9E], [10E], [11E], [12E], [1E], [2E], [3E], [4E], [5E], [6E], [9G], [10G], [11G], [12G], [1G], [2G], [3G], [4G], [5G], [6G]))piv WHERE IgazoltE = 'F' AND Tipus = 1499)ni on ni.TanuloId=s.Id AND ni.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevE, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'F' GROUP BY TanuloId, TanuloCsoportId) felevE ON felevE.TanuloId=s.id AND felevE.TanuloCsoportId = s.TanuloCsoportId LEFT JOIN (SELECT SUM(KesesPercben) FelevG, TanuloId, TanuloCsoportId FROM #mulasztasTmp WHERE IgazoltE = 'F' AND Tipus = 1499 AND Datum <= @FelevVege AND isGyakorlat = 'T' GROUP BY TanuloId, TanuloCsoportId) felevG ON felevG.TanuloId=s.id AND felevG.TanuloCsoportId = s.TanuloCsoportId --Igazolatlan késés (p) (end) --Mindkét fajta késés (ó) (start) tempbe mert beleszámoljuk az összegezettbe INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT TanuloId ,TanuloCsoportId ,REPLACE(Tipus,'(p)','(ó)') ,CAST(ISNULL([9E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([9G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([10E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([10G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([11E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([11G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([12E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([12G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([1E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([1G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([2E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([2G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([3E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([3G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([4E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([4G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([5E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([5G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL([6E],0)/@elmeletiOraPercben AS int),CAST(ISNULL([6G],0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL(FelevE,0)/@elmeletiOraPercben AS int) ,CAST(ISNULL(FelevG,0)/@gyakorlatiOraPercben AS int) ,CAST(ISNULL(OsszesenE,0)/@elmeletiOraPercben AS int) ,CAST(ISNULL(OsszesenG,0)/@gyakorlatiOraPercben AS int) ,Rendez+3 FROM #MulasztasVegleges WHERE Tipus LIKE '%*%(p)%' --Mindkét fajta késés (ó) (end) --Igazolt hozott (start) tempbe mert beleszámoljuk az összegezettbe INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'hozott igazolt mulasztás' ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,IIF(@FelevVege > s.BelepesDatum, ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0),0) ,0 ,ISNULL(tta.C_HOZOTTIGAZOLTHIANYZAS,0) ,0 ,50005 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId --Igazolt hozott (end) --Igazolatlan hozott (start) tempbe mert beleszámoljuk az összegezettbe INSERT INTO #MulasztasokTemp (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT s.id ,s.TanuloCsoportId ,'hozott igazolatlan mulasztás' ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,0,0 ,IIF(@FelevVege > s.BelepesDatum, ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0),0) ,0 ,ISNULL(tta.C_HOZOTTIGAZOLATLANHIANYZAS,0) ,0 ,50006 Rendez FROM #studentsWithTanuloCsoport s LEFT JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = s.TanuloCsoportId --Igazolatlan hozott (end) -- beszurni a veglegestablaba a temp osszegezve --Összesített mulasztás (start) INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT mb.TanuloId ,mb.TanuloCsoportId ,CAST('mulasztás' AS NVARCHAR(MAX)) Tipus ,SUM(ISNULL(mb.[9E],0)) ,SUM(ISNULL(mb.[9G],0)) ,SUM(ISNULL(mb.[10E],0)) ,SUM(ISNULL(mb.[10G],0)) ,SUM(ISNULL(mb.[11E],0)) ,SUM(ISNULL(mb.[11G],0)) ,SUM(ISNULL(mb.[12E],0)) ,SUM(ISNULL(mb.[12G],0)) ,SUM(ISNULL(mb.[1E],0)) ,SUM(ISNULL(mb.[1G],0)) ,SUM(ISNULL(mb.[2E],0)) ,SUM(ISNULL(mb.[2G],0)) ,SUM(ISNULL(mb.[3E],0)) ,SUM(ISNULL(mb.[3G],0)) ,SUM(ISNULL(mb.[4E],0)) ,SUM(ISNULL(mb.[4G],0)) ,SUM(ISNULL(mb.[5E],0)) ,SUM(ISNULL(mb.[5G],0)) ,SUM(ISNULL(mb.[6E],0)) ,SUM(ISNULL(mb.[6G],0)) ,SUM(ISNULL(mb.FelevE,0)) ,SUM(ISNULL(mb.FelevG,0)) ,SUM(ISNULL(mb.OsszesenE,0)) ,SUM(ISNULL(mb.OsszesenG,0)) ,1 Rendez FROM #MulasztasokTemp mb GROUP BY mb.TanuloId,mb.TanuloCsoportId --Összesített mulasztás (end) -- beszurni a veglegestablaba a temp-bol INSERT INTO #MulasztasVegleges (TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez) SELECT TanuloId, TanuloCsoportId, Tipus, [9E],[9G],[10E],[10G],[11E],[11G],[12E],[12G],[1E],[1G], [2E],[2G],[3E],[3G],[4E],[4G],[5E],[5G],[6E],[6G], FelevE, FelevG, OsszesenE, OsszesenG, Rendez FROM #MulasztasokTemp SELECT Tanuloid ,TanuloCsoportId ,Tipus ,ISNULL([9E], 0) [9E], ISNULL([9G], 0) [9G] ,ISNULL([10E], 0)[10E], ISNULL([10G], 0)[10G] ,ISNULL([11E], 0)[11E], ISNULL([11G], 0)[11G] ,ISNULL([12E], 0)[12E], ISNULL([12G], 0)[12G] ,ISNULL([1E], 0) [1E], ISNULL([1G], 0) [1G] ,ISNULL([2E], 0) [2E], ISNULL([2G], 0) [2G] ,ISNULL([3E], 0) [3E], ISNULL([3G], 0) [3G] ,ISNULL([4E], 0) [4E], ISNULL([4G], 0) [4G] ,ISNULL([5E], 0) [5E], ISNULL([5G], 0) [5G] ,ISNULL([6E], 0) [6E], ISNULL([6G], 0) [6G] ,ISNULL(FelevE, 0) FelevE ,ISNULL(FelevG, 0) FelevG ,ISNULL(OsszesenE, 0) OsszesenE ,ISNULL(OsszesenG, 0) OsszesenG ,ISNULL([9E], 0) + ISNULL([9G], 0) [9Ossz] ,ISNULL([10E], 0) + ISNULL([10G], 0)[10Ossz] ,ISNULL([11E], 0) + ISNULL([11G], 0)[11Ossz] ,ISNULL([12E], 0) + ISNULL([12G], 0)[12Ossz] ,ISNULL([1E], 0) + ISNULL([1G], 0) [1Ossz] ,ISNULL([2E], 0) + ISNULL([2G], 0) [2Ossz] ,ISNULL([3E], 0) + ISNULL([3G], 0) [3Ossz] ,ISNULL([4E], 0) + ISNULL([4G], 0) [4Ossz] ,ISNULL([5E], 0) + ISNULL([5G], 0) [5Ossz] ,ISNULL([6E], 0) + ISNULL([6G], 0) [6Ossz] ,ISNULL(FelevE, 0) + ISNULL(FelevG, 0) FelevOssz ,ISNULL(OsszesenE, 0) + ISNULL(OsszesenG, 0) OsszesenOssz FROM #MulasztasVegleges ORDER BY Rendez END