DROP PROCEDURE IF EXISTS [dbo].[sp_GetNapkozisNaplo] GO CREATE PROCEDURE [dbo].[sp_GetNapkozisNaplo] @tanevId INT ,@intezmenyId INT ,@csoportId INT ,@iskolaErdekuSzamit BIT AS BEGIN SET NOCOUNT ON; --Tanulók adatai, elérhetőségei CREATE TABLE #tanulok ( Id int, TanuloCsoportId INT, Nev nvarchar(max), Osztaly nvarchar(max), OsztalyId INT, Sorszam nvarchar(max), beirasiSorszam nvarchar(max), Torzslapszam nvarchar(max), Allampolgarsaga nvarchar(max), DiakIg nvarchar(max), SzulHely nvarchar(max), SzulIdo nvarchar(max), Anyja nvarchar(max), Taj nvarchar(max), OktAzon nvarchar(max), Kilepes nvarchar(max), Kepzes nvarchar(max), TanuloCimTipus nvarchar(max), TanuloCim nvarchar(max), TanuloEmail nvarchar(max), szoc nvarchar(max), BelepesDatum datetime ) INSERT INTO #tanulok SELECT DISTINCT tanulok.TanuloId Id ,tanulok.TanuloCsoportId ,iif(KilepesDatum IS NOT NULL,f.C_NYOMTATASINEV+' (kilépett)', f.C_NYOMTATASINEV) as Nev ,dbo.fnGetDokumentumTanuloAktualisOsztaly(t.Id) as Osztaly /*TODO:Tobb Osztaly*//*OM-1651*/ ,dbo.fnGetDokumentumTanuloAktualisOsztalyId(t.Id) as OsztalyId ,tta.C_NAPLOSORSZAM as NaploSorszam ,tta.C_BEIRASINAPLOSORSZAM as beirasiSorszam ,tta.C_TORZSLAPSZAM as TorzsLapSzam ,Allampolgarsaga.C_NAME as Allampolgarsag ,t.C_DIAKIGAZOLVANYSZAM as DiakIg ,f.C_SZULETESIHELY as SzulHely ,FORMAT(f.c_szuletesidatum, 'yyyy.MM.dd.') as SzulIdo ,f.C_ANYJANEVE as Anyja ,f.C_TAJSZAM as Taj ,f.C_OKTATASIAZONOSITO as OktAzon ,FORMAT(KilepesDatum, 'yyyy.MM.dd.') as Kilepes ,tt.c_nev as Kepzes ,cim.Tipus ,cim.cim ,email.c_emailcim as TanuloEmail ,STUFF(IIF(tta.C_MAGANTANULO = 'T', ', Magántanuló (' + ISNULL(MagantanulosagOka.C_NAME,'-') + ')', '') + IIF(tta.C_JOGVISZONYATSZUNETELTETO = 'T', ', Jogviszony szüneteltetve', '') + IIF(tta.C_SZAKMAIGYAKORLATON = 'T', ', Szakmai gyakorlat', '') + IIF(t.C_SZOCIALISTAMOGATAS = 'T', ', Szociális támogatás', ''),1,2,'') AS szoc ,tanulok.BelepesDatum AS BelepesDatum FROM fnGetDokumentumOsztalyokCsoportokTanuloi (@tanevId, @csoportId, 'T') tanulok INNER JOIN T_FELHASZNALO_OSSZES f ON f.id = tanulok.TanuloId AND f.torolt='F' INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID INNER JOIN fnGetOsztalyCsoportTanuloinakTanugyiAdatai(@csoportId,default) tta ON tta.TanuloId=t.ID INNER JOIN T_TANTERV_OSSZES tt ON tt.ID = tta.C_TANTERVID AND tt.TOROLT = 'F' AND tt.C_TANEVID = @tanevId INNER JOIN T_DICTIONARYITEMBASE_OSSZES Allampolgarsaga ON Allampolgarsaga.Id = f.c_allampolgarsaga AND Allampolgarsaga.C_TANEVID = @tanevId AND Allampolgarsaga.TOROLT = 'F' LEFT JOIN ( SELECT DISTINCT TanuloId TanuloId ,cimTipusa.C_NAME Tipus ,STUFF(( SELECT DISTINCT CAST(Btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10) FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) btemp WHERE temp.TanuloId = btemp.TanuloId AND temp.CimTipusa = btemp.CimTipusa FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,0,'') Cim FROM fnGetDokumentumTanuloOrGondviseloCim (0, @tanevId, @csoportid) temp INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId AND cimTipusa.TOROLT = 'F' WHERE temp.CimTipusa = 907 )cim ON cim.TanuloId=tanulok.TanuloId LEFT JOIN T_TELEFON_OSSZES tel ON tel.c_felhasznaloid=f.id AND tel.c_gondviseloid is null AND tel.torolt='F' AND tel.c_alapertelmezett='T' LEFT JOIN T_EMAIL_OSSZES email ON email.c_felhasznaloid=tanulok.TanuloId AND email.c_gondviseloid is null AND email.torolt='F' AND email.c_alapertelmezett='T' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES MagantanulosagOka on MagantanulosagOka.ID = tta.C_MAGANTANULOSAGANAKOKAID AND MagantanulosagOka.C_TANEVID = f.C_TANEVID AND MagantanulosagOka.TOROLT = 'F' --Kezdőoldal SELECT ia.c_nev as IntezmenyNev, dbo.fnGetDokumentumIntezmenyCime(@tanevId) as IntezmenyCim, ia.c_omkod as OMKOD, ia.c_igazgatoneve as IntezmenyVezeto, ocs.c_nev NapkozisCsoport, iif(len(ocs.c_nev)>17, SUBSTRING (ocs.c_nev, 1 , 17)+'...', ocs.c_nev) RovidNev, isnull(f.c_nyomtatasinev,'-') as CsoportVezeto, isnull(cs.c_csoportnaploleiras,'-') as CsoportNaploLeiras, FORMAT(cs.c_csoportnaplomegnyitasa, 'yyyy.MM.dd.') as Megnyitas, isnull(FORMAT(cs.c_csoportnaplozarasa, 'yyyy.MM.dd.'),'-') as Lezaras ,ocs.ID NapkozisCsoportId ,f.ID CsoportVezetoId ,ISNULL(ocs.C_EVFOLYAMTIPUSA, 1296) AS EvfolyamTipusa -- 1296 = Na ,ocs.C_FELADATELLATASIHELYID FeladatEllatasiHelyId ,ocs.C_KERESZTFELEVES OJCSJKeresztfeleves ,ocs.C_VEGZOSEVFOLYAM CSJVegzosEvfolyamu ,cs.C_TIPUSA CsoportTipusa FROM T_INTEZMENY_OSSZES i INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.c_intezmenyid = i.id INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.c_intezmenyid=i.id AND ocs.c_tanevid = @tanevid AND ocs.id = @csoportId INNER JOIN T_CSOPORT_OSSZES cs ON cs.id = ocs.id LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = cs.c_csoportvezetoid WHERE i.id = @intezmenyid AND ia.c_tanevid = @tanevid --Csoportot vezette SELECT isnull(f.c_nyomtatasinev,'-') as CsoportVezeto FROM T_CSOPORT_OSSZES cs LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=cs.c_csoportvezetoid WHERE cs.id=@csoportId AND cs.c_altanevid=@tanevid AND cs.c_alintezmenyid=@intezmenyid --Tanulók SELECT DISTINCT Nev, Osztaly, OktAzon , OsztalyId, BelepesDatum FROM #tanulok ORDER BY Nev --Naplóhetek DECLARE @elsonap as date DECLARE @utolsonap as date IF ( SELECT c_osztalycsoportid FROM T_OSZTALYCSOPORT_TANEVRENDJE otr INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394 WHERE c_osztalycsoportid=@csoportid ) IS NULL begin SET @elsonap= (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1394 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T') END ELSE BEGIN SET @elsonap = ( SELECT top 1 tr.C_DATUM FROM T_OSZTALYCSOPORT_TANEVRENDJE otr INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1394 WHERE c_osztalycsoportid=@csoportid) END IF ( SELECT c_osztalycsoportid FROM T_OSZTALYCSOPORT_TANEVRENDJE otr INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395 WHERE c_osztalycsoportid=@csoportId ) IS NULL BEGIN SET @utolsonap = (SELECT top 1 c_datum FROM t_tanevrendje_osszes tr WHERE c_naptipusa=1395 AND c_tanevid=@tanevId AND c_intezmenyid=@intezmenyId AND torolt='F' AND c_osszescsoportravonatkozik='T') END ELSE BEGIN SET @utolsonap = ( SELECT top 1 tr.C_DATUM FROM T_OSZTALYCSOPORT_TANEVRENDJE otr INNER JOIN t_tanevrendje_osszes tr ON tr.id=otr.c_tanevrendjeid AND tr.c_naptipusa=1395 WHERE c_osztalycsoportid=@csoportId) END SELECT nn.C_HETSORSZAMA Het ,FORMAT(MIN(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetEleje ,FORMAT(MAX(nn.C_NAPDATUMA), 'yyyy.MM.dd.') HetVege FROM T_NAPTARINAP_OSSZES nn WHERE nn.C_NAPDATUMA BETWEEN @ElsoNap AND @UtolsoNap AND nn.C_HETNAPJA BETWEEN 1407 AND 1413 AND nn.TOROLT='F' AND nn.c_tanevId = @tanevId GROUP BY nn.C_HETSORSZAMA ORDER BY MIN(nn.C_NAPDATUMA) --Tanuló adatok SELECT * FROM #tanulok ORDER BY Nev --Mulasztások DECLARE @Mulasztasok TABLE ( IgazoltE nvarchar(1), Tanulo int, Tipus int) DECLARE @FelevVege DATE = (SELECT TOP 1 C_DATUM FROM T_TANEVRENDJE_OSSZES tr WHERE C_NAPTIPUSA = 1400 AND C_TANEVID=@tanevId AND TOROLT = 'F') SELECT DATEPART(MONTH, Datum) Honap ,TantargyId Id ,Igazolt IgazoltE ,TanuloId TanuloId ,TanuloCsoportId TanuloCsoportId ,IgazolasTipusa IgazolasTipus ,Datum Datum ,Tipusa Tipus ,KesesPercben KesesPercben ,HetSorszama HetSorszama ,Oraszam Oraszam ,CAST(DATEPART(MONTH, Datum) AS NVARCHAR(10)) + IIF(C_GYAKORLATI = 'T', 'G', 'E') ElmeletGyakorlat ,C_GYAKORLATI isGyakorlat INTO #mulasztasTmp FROM fnGetDokumentumMulasztasokOsztalyonkentReszletes(@tanevId, @csoportId, @iskolaErdekuSzamit, 1, 0, DEFAULT, DEFAULT, 0) TanulokMulasztasai INNER JOIN T_TANTARGY_OSSZES Tantargy ON Tantargy.Id = TanulokMulasztasai.TantargyId SELECT TanuloId Id ,TanuloCsoportId ,Sorszam ,TorzslapSzam ,OktAzon ,TajSzam ,AnyjaNeve ,SzulHely ,SzulIdo ,SocAdat ,Kepzes ,TanuloNeve ,Allampolgarsaga ,DiakIgazolvanySzam ,KilepesDatum ,BeirasiNaploSorszam ,AktualisOsztaly Osztaly ,CONVERT(DATE, LEFT(BelepesDatum, LEN(BelepesDatum) - 1), 102) BelepesDatum INTO #studentsWithTanuloCsoport FROM fnGetDokumentumTanulokAdatai(@tanevId, @csoportId) EXEC sp_GetDokumentumMulasztasokIdoszakonkent @tanevId = @tanevId, @osztalyCsoportId = @csoportId, @iskolaErdekuSzamit = @iskolaErdekuSzamit, @isReszletesMulasztasok = 0 --Napló SELECT distinct nn.c_hetsorszama as Het, d.c_name as Nap, FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') as Datum FROM T_NAPTARINAP_OSSZES nn LEFT JOIN T_TANITASIORA_OSSZES tao ON tao.c_datum=nn.c_napdatuma AND tao.c_osztalycsoportid=@csoportid AND tao.torolt='F' LEFT JOIN T_DICTIONARYITEMBASE_OSSZES d on d.id=nn.c_hetnapja AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F' LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id=tao.c_foglalkozasid AND fog.c_tanevid=@tanevid LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id=fog.c_tanarid AND f.torolt='F' WHERE nn.c_napdatuma>=@elsonap AND nn.c_napdatuma<=@utolsonap ORDER BY nn.c_hetsorszama,FORMAT(nn.c_napdatuma, 'yyyy. MMMM dd.', 'hu-hu') --Napló adatok DECLARE @datum DATE = GETDATE() CREATE TABLE #OraSorszam (TanitasioraId INT PRIMARY KEY, OraSorszam INT) INSERT INTO #OraSorszam EXEC sp_GetOraSorszamByOsztaly @osztalyCsoportId = @csoportId, @datum = @datum, @intezmenyId = @intezmenyId, @tanevId = @tanevId SELECT DISTINCT tao.C_ORASZAM Oraszam ,tao.C_HETSORSZAMA Het ,FORMAT(tao.C_DATUM, 'yyyy. MMMM dd.', 'hu-hu') Datum ,CONVERT(VARCHAR(5), tao.C_ORAKEZDETE, 108) + '-' + CONVERT(VARCHAR(5), tao.C_ORAVEGE, 108) DatumKezdettel ,ISNULL('Helyettesítő: ' + helyettesito.C_NYOMTATASINEV, f.C_NYOMTATASINEV) Tanar ,IIF(tantargy.C_NEV <> C_NEVNYOMTATVANYBAN AND C_NEVNYOMTATVANYBAN IS NOT NULL, C_NEVNYOMTATVANYBAN -- + ' (' + tantargy.C_NEV + ')', tantargy.C_NEV) TantargyNev ,tao.C_TANTARGYID TantargyId ,tao.C_MEGTARTOTT Megtartott ,tao.C_TEMA Tema ,OraSorszam ,C_ORAKEZDETE INTO #megtartottOrak FROM T_TANITASIORA_OSSZES tao LEFT JOIN T_FOGLALKOZAS_OSSZES fog ON fog.id = tao.C_FOGLALKOZASID AND fog.TOROLT = 'F' LEFT JOIN T_FELHASZNALO_OSSZES f ON f.id = tao.C_TANARID AND f.TOROLT = 'F' LEFT JOIN T_FELHASZNALO_OSSZES helyettesito ON helyettesito.ID = tao.C_HELYETTESITOTANARID INNER JOIN T_TANTARGY_OSSZES tantargy ON tantargy.Id = tao.C_TANTARGYID LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = tao.Id WHERE tao.C_OSZTALYCSOPORTID = @csoportid AND tao.TOROLT = 'F' ORDER BY tao.C_ORAKEZDETE, tao.C_ORASZAM SELECT * FROM #megtartottOrak --Napló mulasztás SELECT C_HETSORSZAMA Het, C_NYOMTATASINEV Tanulo, MAX([1]) AS [Hetfo], MAX([2]) AS [Kedd], MAX([3]) AS [Szerda], MAX([4]) AS [Csutortok], MAX([5]) AS [Pentek], MAX([6]) AS [Szombat] FROM ( SELECT C_HETSORSZAMA, C_NYOMTATASINEV, [0], [1], [2], [3], [4], [5], [6] FROM ( SELECT DISTINCT n.C_NAPTARINAPID, DATEPART(dw,n.C_DATUM) AS NAP, t.C_NYOMTATASINEV, n.C_HETSORSZAMA, '[' + STUFF(( SELECT ', ' + CAST(OraSorszam AS VARCHAR(3)) + IIF(tm.C_TIPUS = 1499, '(k)','') FROM T_TANULOMULASZTAS_OSSZES tm INNER JOIN T_TANITASIORA_OSSZES o ON o.ID = tm.C_TANITASIORAKID LEFT JOIN (SELECT DISTINCT OraSorszam, TanitasioraId FROM #OraSorszam) oraSorszam ON oraSorszam.TanitasioraId = o.Id WHERE n.C_NAPTARINAPID = o.C_NAPTARINAPID AND m.C_ORATANULOIID = tm.C_ORATANULOIID AND tm.C_TANEVID = @tanevId and tm.torolt='F' and tm.c_intezmenyId=@intezmenyId and o.c_tanevId=@tanevId and o.C_OSZTALYCSOPORTID = @csoportId and o.TOROLT = 'F' ORDER BY o.C_NAPTARINAPID, o.C_ORASZAM FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),1,2,'') + '] ' + CAST(SUM(IIF(m.C_IGAZOLT = 'T', 1, 0)) AS varchar(2)) + '/' + CAST(SUM(IIF(m.C_IGAZOLT = 'F', 1, 0)) AS varchar(2)) AS hianyzas FROM T_TANITASIORA_OSSZES n INNER JOIN T_TANULOMULASZTAS_OSSZES m ON m.C_TANITASIORAKID = n.ID and m.torolt='F' INNER JOIN T_FELHASZNALO_OSSZES t ON t.ID = m.C_ORATANULOIID WHERE n.C_TANEVID = @tanevId AND m.C_TANEVID = @tanevId AND (@iskolaErdekuSzamit = 1 OR C_IGAZOLASTIPUSA <> 1533) and n.C_OSZTALYCSOPORTID = @csoportId and n.TOROLT = 'F' GROUP BY n.C_NAPTARINAPID, C_ORATANULOIID, C_NYOMTATASINEV, n.C_HETSORSZAMA, n.C_DATUM) AS SUB PIVOT ( MAX(HIANYZAS) FOR NAP IN ([0], [1], [2], [3], [4], [5], [6]) ) AS PivotTable ) AS ASD GROUP BY C_HETSORSZAMA, C_NYOMTATASINEV ORDER BY C_HETSORSZAMA --Tanuló feljegyzései SELECT tte.C_TANULOID AS Tanulo ,FORMAT(tao.c_datum, 'yyyy.MM.dd.') AS Idopont ,d.C_NAME AS Tipus ,te.C_TARTALOM AS Feljegyzes ,f.C_NYOMTATASINEV AS Feljegyzo FROM T_TANULO_TANULOESEMENY tte INNER JOIN T_TANULOESEMENY_OSSZES te ON te.Id = tte.C_TANULOESEMENYID INNER JOIN T_TANITASIORA_OSSZES tao ON tao.Id = te.C_TANITASIORAID INNER JOIN T_FELHASZNALO_OSSZES f ON f.Id = te.C_FELJEGYZOID INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.Id = te.C_TIPUS AND d.C_TANEVID = @tanevId AND d.TOROLT = 'F' WHERE C_OSZTALYCSOPORTID = @csoportId AND te.TOROLT = 'F' AND C_TIPUS <> 1534 CREATE TABLE #Gondviselok (TanuloId INT, GondviseloId INT PRIMARY KEY CLUSTERED) INSERT INTO #Gondviselok SELECT TanuloId ,GondviseloId FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') CREATE TABLE #GondViseloCimTable (GondviseloId INT, Cim NVARCHAR(MAX), Cimtipusa NVARCHAR(MAX)) INSERT INTO #GondViseloCimTable SELECT GondviseloId ,STUFF(( SELECT DISTINCT CAST(btemp.Cim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10) FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportId) btemp WHERE temp.GondviseloId = btemp.GondviseloId AND temp.CimTipusa = btemp.CimTipusa FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,0,'') ,cimTipusa.C_NAME FROM fnGetDokumentumTanuloOrGondviseloCim (1, @tanevId, @csoportId) temp INNER JOIN T_DICTIONARYITEMBASE_OSSZES cimTipusa ON cimTipusa.Id = temp.CimTipusa AND cimTipusa.C_TANEVID = @tanevId AND cimTipusa.TOROLT = 'F' CREATE TABLE #EmailCimTableTemp (FelhasznaloId INT, EmailCim NVARCHAR(MAX), GondviseloId INT) INSERT INTO #EmailCimTableTemp SELECT TanuloId ,C_EMAILCIM ,GondviseloId FROM #Gondviselok INNER JOIN T_EMAIL_OSSZES email ON email.C_GONDVISELOID = GondviseloId WHERE email.TOROLT = 'F' AND email.C_TANEVID = @tanevId AND LEN(C_EMAILCIM) > 0 CREATE TABLE #EmailCimGondviseloTable(GondviseloId INT PRIMARY KEY CLUSTERED, EmailCim NVARCHAR(MAX)) INSERT INTO #EmailCimGondviseloTable SELECT DISTINCT GondviseloId ,STUFF(( SELECT DISTINCT CAST(btemp.EmailCim AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10) FROM #EmailCimTableTemp btemp WHERE temp.GondviseloId = btemp.GondviseloId AND btemp.GondviseloId IS NOT NULL FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,0,'') Email FROM #EmailCimTableTemp temp WHERE GondviseloId IS NOT NULL CREATE TABLE #TelefonTableTemp(FelhasznaloId INT, Telefon NVARCHAR(MAX), GondviseloId INT, index ix_Ci_telefon (FelhasznaloId)) INSERT INTO #TelefonTableTemp SELECT TanuloId ,C_TELEFONSZAM ,GondviseloId FROM #Gondviselok gondviselo INNER JOIN T_TELEFON_OSSZES telefon ON telefon.C_GONDVISELOID = GondviseloId WHERE telefon.TOROLT = 'F' AND telefon.C_TANEVID = @tanevId AND LEN(telefon.C_TELEFONSZAM) > 0 CREATE TABLE #GondviseloTelefonTable(GondviseloId INT PRIMARY KEY CLUSTERED,Telefon NVARCHAR(MAX)) INSERT INTO #GondviseloTelefonTable SELECT DISTINCT GondviseloId ,STUFF(( SELECT DISTINCT CAST(btemp.Telefon AS NVARCHAR(MAX)) + CHAR(13) + CHAR(10) FROM #TelefonTableTemp btemp WHERE temp.GondviseloId = btemp.GondviseloId AND temp.FelhasznaloId = btemp.FelhasznaloId AND GondviseloId IS NOT NULL FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,0,'') FROM #TelefonTableTemp temp WHERE GondviseloId IS NOT NULL --Tanuló gondviselői SELECT DISTINCT Gondviselok.TanuloId ,Gondviselok.GondviseloNev + ' (' + RokonsagiFok.C_NAME + ')' C_NEV ,cim.Cimtipusa C_CIMTIPUSA ,cim.cim C_OSSZETETTCIM ,telefon.telefon C_TELEFONSZAM ,email.emailcim C_EMAILCIM FROM fnGetDokumentumGondviselok (@csoportId, @tanevId, 'F', 'T') Gondviselok INNER JOIN T_DICTIONARYITEMBASE_OSSZES RokonsagiFok ON RokonsagiFok.ID = Gondviselok.RokonsagifokId AND RokonsagiFok.C_TANEVID = @tanevId AND RokonsagiFok.TOROLT = 'F' LEFT JOIN #EmailCimGondviseloTable email ON email.GondviseloId = Gondviselok.GondviseloId LEFT JOIN #GondviseloTelefonTable telefon ON telefon.GondviseloId = Gondviselok.GondviseloId LEFT JOIN #GondViseloCimTable cim ON cim.GondviseloId = Gondviselok.GondviseloId --Megtartott órák száma SELECT COUNT(TantargyId) TantargyOraszam ,Tantargynev TantargyNev INTO #MegtartottOrakSzama FROM #megtartottOrak WHERE Megtartott = 'T' GROUP BY TantargyId, TantargyNev SELECT DISTINCT SUM(tmp.TantargyOraszam) OsszesTantargySzam ,STUFF(( SELECT DISTINCT ', ' + btmp.TantargyNev + '(' + CAST(btmp.TantargyOraszam AS NVARCHAR(MAX)) + ')' FROM #MegtartottOrakSzama btmp FOR XML PATH(''), TYPE) .value('.','NVARCHAR(MAX)'),1,2,'') Tantargyak FROM #MegtartottOrakSzama tmp -- Csoport tanárai SELECT targy.C_NEV TargyNev ,tanar.C_NYOMTATASINEV TanarNev ,targykategoria.C_ORDER ,tanar.ID TanarId ,tanar.C_OKTATASIAZONOSITO TanarOktAzon FROM T_FELHASZNALO_OSSZES tanar INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANARID = tanar.ID and f.TOROLT='F' and f.C_OSZTALYCSOPORTID = @csoportId INNER JOIN T_TANTARGY_OSSZES targy ON targy.ID = f.C_TANTARGYID and targy.TOROLT='F' INNER JOIN T_TARGYKATEGORIATIPUS_OSSZES ON T_TARGYKATEGORIATIPUS_OSSZES.ID = targy.C_TARGYKATEGORIA INNER JOIN T_DICTIONARYITEMBASE_OSSZES targykategoria ON targykategoria.ID = T_TARGYKATEGORIATIPUS_OSSZES.ID AND targykategoria.TOROLT = 'F' AND targykategoria.C_TANEVID = @tanevId WHERE tanar.TOROLT = 'F' AND f.TOROLT = 'F' AND tanar.C_INTEZMENYID = @intezmenyid AND tanar.c_tanevId = @tanevId GROUP BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV, tanar.ID, tanar.C_OKTATASIAZONOSITO ORDER BY C_ORDER, targy.C_NEV, tanar.C_NYOMTATASINEV END GO