DROP PROCEDURE IF EXISTS uspTanulokBejegyzesStatisztika; GO CREATE PROCEDURE uspTanulokBejegyzesStatisztika @tanevId int ,@osztalyId int AS BEGIN SET NOCOUNT ON; DECLARE @FelevVege date /*TANULÓ adatai*/ CREATE TABLE #TanuloAlapAdatok ( TanuloId int ,TanuloCsoportId int ,Sorszam int NULL ,TorzslapSzam nvarchar(500) NULL ,OktAzon nvarchar(20) NULL ,TajSzam nvarchar(9) NULL ,AnyjaNeve nvarchar(64) ,SzulHely nvarchar(50) NULL ,SzulIdo nvarchar(max) NULL ,SocAdat nvarchar(340) NULL ,Kepzes nvarchar(255) ,TanuloNeve nvarchar(255) ,Allampolgarsaga nvarchar(250) ,DiakIgazolvanySzam nvarchar(255) NULL ,KilepesDatum nvarchar(max) NULL ,BeirasiNaploSorszam nvarchar(50) NULL ,AktualisOsztaly nvarchar(max) NULL ,AktualisOsztalyId int NULL ,BelepesDatum nvarchar(max) NULL ) SELECT TOP 1 @FelevVege = tr.C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE tr.C_NAPTIPUSA = 1400 AND tr.C_TANEVID = @tanevId AND tr.TOROLT = 'F' SELECT DISTINCT @osztalyId AS OsztalyId ,ocs.C_NEV AS OsztalyNev ,i.C_NEV AS IntezmenyNeve ,i.C_OMKOD AS IntezmenyOMKod FROM T_OSZTALYCSOPORT_OSSZES ocs INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.torolt = 'F' INNER JOIN T_INTEZMENYADATOK_OSSZES i ON i.C_INTEZMENYID = ocs.C_INTEZMENYID AND i.C_TANEVID = ocs.C_TANEVID AND i.Torolt = 'F' WHERE ocs.ID = @osztalyId INSERT INTO #TanuloAlapAdatok ( TanuloId ,TanuloCsoportId ,Sorszam ,TorzslapSzam ,OktAzon ,TajSzam ,AnyjaNeve ,SzulHely ,SzulIdo ,SocAdat ,Kepzes ,TanuloNeve ,Allampolgarsaga ,DiakIgazolvanySzam ,KilepesDatum ,BeirasiNaploSorszam ,AktualisOsztaly ,AktualisOsztalyId ,BelepesDatum ) SELECT ta.TanuloId ,ta.TanuloCsoportId ,ta.Sorszam ,ta.TorzslapSzam ,ta.OktAzon ,ta.TajSzam ,ta.AnyjaNeve ,ta.SzulHely ,ta.SzulIdo ,ta.SocAdat ,ta.Kepzes ,ta.TanuloNeve ,ta.Allampolgarsaga ,ta.DiakIgazolvanySzam ,ta.KilepesDatum ,ta.BeirasiNaploSorszam ,ta.AktualisOsztaly ,ta.AktualisOsztalyId ,ta.BelepesDatum FROM fnGetDokumentumTanulokAdatai(@tanevId, @osztalyId) ta SELECT ta.TanuloId ,ta.TanuloCsoportId ,ta.Sorszam ,ta.TorzslapSzam ,ta.OktAzon ,ta.TajSzam ,ta.AnyjaNeve ,ta.SzulHely ,ta.SzulIdo ,ta.SocAdat ,ta.Kepzes ,ta.TanuloNeve ,ta.Allampolgarsaga ,ta.DiakIgazolvanySzam ,ta.KilepesDatum ,ta.BeirasiNaploSorszam ,ta.AktualisOsztaly ,ta.AktualisOsztalyId ,ta.BelepesDatum FROM #TanuloAlapAdatok ta ORDER BY ta.Sorszam SELECT a.TanuloId ,a.TanuloCsoportId ,feljegyzes.Tipus ,feljegyzes.Szeptember ,feljegyzes.Oktober ,feljegyzes.November ,feljegyzes.December ,feljegyzes.Januar ,feljegyzes.Februar ,feljegyzes.Marcius ,feljegyzes.Aprilis ,feljegyzes.Majus ,feljegyzes.Junius ,feljegyzes.Felev ,feljegyzes.Ossz FROM #TanuloAlapAdatok AS a CROSS APPLY fnGetDokumentumTanulokFeljegyzeseiHavibontasban(@tanevId, @osztalyId, @FelevVege, PARSE(a.BelepesDatum AS datetime), PARSE(a.KilepesDatum AS datetime)) feljegyzes WHERE feljegyzes.TanuloId = a.TanuloId END GO