SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_GetFeleviErtesito]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_GetFeleviErtesito] END GO -- ============================================= -- Description: Félévi értesítõ nyomtatvány. -- ============================================= CREATE PROCEDURE sp_GetFeleviErtesito @osztalyId int, @TanevId int, @ElmeletGyakorlat bit=0 AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- fejléc SELECT T_INTEZMENYADATOK_OSSZES.C_NEV IntezmenyNeve, T_INTEZMENYADATOK_OSSZES.C_IRANYITOSZAM IntezmenyIranyitoszam, T_INTEZMENYADATOK_OSSZES.C_VAROS IntezmenyVaros, T_INTEZMENYADATOK_OSSZES.C_CIME IntezmenyCime, T_INTEZMENYADATOK_OSSZES.C_OMKOD OMKod, T_INTEZMENYADATOK_OSSZES.C_TELEFONSZAM TELEFON, T_INTEZMENYADATOK_OSSZES.C_EMAILCIM EMAILCIM, T_TANEV_OSSZES.C_NEV TANEV, (SELECT OFO.C_NYOMTATASINEV FROM T_OSZTALY_OSSZES JOIN T_FELHASZNALO_OSSZES OFO ON OFO.ID = T_OSZTALY_OSSZES.C_OSZTALYFONOKID WHERE T_OSZTALY_OSSZES.ID=@osztalyId and T_OSZTALY_OSSZES.TOROLT = 'F') OSZTALYFONOK, (SELECT to2.C_NEV FROM T_OSZTALYCSOPORT_OSSZES to2 WHERE ID = @osztalyId and TOROLT = 'F') OSZTALYNEV, Getdate() Datum FROM T_INTEZMENYADATOK_OSSZES inner join T_TANEV_OSSZES on T_TANEV_OSSZES.ID = T_INTEZMENYADATOK_OSSZES.C_TANEVID and T_TANEV_OSSZES.C_INTEZMENYID = T_INTEZMENYADATOK_OSSZES.C_INTEZMENYID and T_TANEV_OSSZES.TOROLT = 'F' WHERE T_INTEZMENYADATOK_OSSZES.TOROLT = 'F' and T_TANEV_OSSZES.ID = @TanevId -- TANULÓK SELECT T_FELHASZNALO_OSSZES.ID TANULOID, T_FELHASZNALO_OSSZES.C_NYOMTATASINEV TANULONEV, T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO OKTATASIAZONOSITO FROM T_FELHASZNALO_OSSZES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_FELHASZNALO_OSSZES.ID WHERE T_FELHASZNALO_OSSZES.TOROLT='F' and TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId and T_FELHASZNALO_OSSZES.C_TANEVID = @TanevId ORDER BY T_FELHASZNALO_OSSZES.C_NYOMTATASINEV -- ÉRTÉKELÉSEK SELECT ERTEKELES.C_TANULOID TANULOID, 'MAGATARTAS' TARGY, ERT.C_NAME FELEVIERTEKELES, ERT.C_NAME FELJEGYZES, 1 RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.MAGATARTAS WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 AND (OSZTALYZAT.MAGATARTAS IS NOT NULL OR (LEN(ERTEKELES.C_ERTEKELESSZOVEG)>0 and ERTEKELES.C_TANTARGYID is null) ) -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, 'SZORGALOM' TARGY, ERT.C_NAME FELEVIERTEKELES, ERT.C_NAME FELJEGYZES, 2 RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=OSZTALYZAT.SZORGALOM WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, TARGY.TARGYNEV TARGY, ERT.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES, TARGY.KAT RENDEZ FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID LEFT JOIN ( SELECT DISTINCT ID, C_NAME FROM T_DICTIONARYITEMBASE) ERT ON ERT.ID=ERTEKELES.C_OSZTALYZAT left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' ORDER BY TANULOID, RENDEZ /* SELECT ERTEKELES.C_TANULOID TANULOID, 'MAGATARTAS' TARGY, d.C_NAME FELEVIERTEKELES, d.C_NAME++iif(ertekeles.c_ertekelesszoveg is null, '', +' - '+ertekeles.c_ertekelesszoveg) FELJEGYZES, 1 Rendez FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_MAGATARTAS MAGATARTAS FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.MAGATARTAS WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 AND OSZTALYZAT.MAGATARTAS IS NOT NULL -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, 'SZORGALOM' TARGY, d.C_NAME FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES, 2 Rendez FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID LEFT JOIN (SELECT ID, C_SZORGALOM SZORGALOM FROM T_OSZTALYFONOKIERTEKELES_OSSZES where TOROLT = 'F') OSZTALYZAT ON OSZTALYZAT.ID = ERTEKELES.ID inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=OSZTALYZAT.szorgalom WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 AND OSZTALYZAT.SZORGALOM IS NOT NULL -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' UNION ALL SELECT ERTEKELES.C_TANULOID TANULOID, TARGY.TARGYNEV TARGY, d.C_NAME+iif(ertekelesMegjegyzes.C_TEMA is null, '', +' * '+ertekelesMegjegyzes.C_TEMA) FELEVIERTEKELES, ERTEKELES.C_ERTEKELESSZOVEG FELJEGYZES, TARGY.KAT Rendez FROM T_TANULOERTEKELES_OSSZES ERTEKELES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = ERTEKELES.C_TANULOID JOIN ( SELECT ID,C_NEV TARGYNEV,C_TARGYKATEGORIA KAT FROM T_TANTARGY_OSSZES where TOROLT = 'F') TARGY ON TARGY.ID = ERTEKELES.C_TANTARGYID inner join (select distinct id, c_name from T_DICTIONARYITEMBASE) d on d.id=ERTEKELES.C_OSZTALYZAT left join T_OSZTALYZATERTEKELES ertekelesMegjegyzes on ertekelesMegjegyzes.ID=ertekeles.Id WHERE TANCSOPORT.C_OSZTALYCSOPORTID =@osztalyId AND TARGY.KAT != 1248 --Osztályfőnöki nem jelenítődik meg AND ERTEKELES.C_ERTEKELESTIPUSA = 1519 -- FÉLÉVES AND ERTEKELES.C_TANEVID = @TanevId AND ERTEKELES.TOROLT='F' ORDER BY TANULOID, Rendez */ -- MULASZTÁSOK declare @tanulok table (Tanulo int) insert into @tanulok select c_tanuloid from t_tanulocsoport where torolt='F' and c_osztalycsoportid=@osztalyId IF @ElmeletGyakorlat=0 BEGIN select * from (select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo union select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlatGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlatGyakorlatKeses on IgazolatlatGyakorlatKeses.Tanulo=Tanulok.Tanulo ) Ossz ORDER BY TANULOID, TIPUS DESC /*SELECT * FROM ( SELECT MULASZT.C_ORATANULOIID TANULOID, 'IGAZOLT' TIPUS, COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'T' AND MULASZT.C_TIPUS = 1500 AND MULASZT.C_TANEVID = @TanevId GROUP BY MULASZT.C_ORATANULOIID UNION SELECT MULASZT.C_ORATANULOIID TANULOID, 'IGAZOLATLAN' TIPUS, COUNT(1) ORASZAM FROM T_TANULOMULASZTAS_OSSZES MULASZT JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MULASZT.C_ORATANULOIID WHERE MULASZT.TOROLT ='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MULASZT.C_IGAZOLT = 'F' AND MULASZT.C_TIPUS = 1500 AND MULASZT.C_TANEVID = @TanevId GROUP BY MULASZT.C_ORATANULOIID) ORAK ORDER BY ORAK.TANULOID, ORAK.TIPUS DESC */ END ELSE BEGIN select * from (select Elmeletgyakorlat.*, Elmelet.Elmelet, Gyakorlat.Gyakorlat from (select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo union select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes, 0) Oraszam from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join T_TANITASIORA tao on tao.id=tm.C_TANITASIORAKID --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo )Elmeletgyakorlat left join ( select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltElmeletKeses on IgazoltElmeletKeses.Tanulo=Tanulok.Tanulo union select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanElmeletKeses.Osszes,0) Elmelet from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/45 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='F' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlanElmeletKeses on IgazolatlanElmeletKeses.Tanulo=Tanulok.Tanulo )Elmelet on Elmelet.Tanuloid=Elmeletgyakorlat.TanuloId and Elmelet.Tipus=Elmeletgyakorlat.Tipus left join ( select Tanulok.Tanulo TanuloId, 'IGAZOLT' Tipus, isnull(Igazolt.Osszes, 0)+isnull(IgazoltGyakorlatKeses.Osszes,0) Gyakorlat from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolt on Igazolt.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='T' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazoltGyakorlatKeses on IgazoltGyakorlatKeses.Tanulo=Tanulok.Tanulo union select Tanulok.Tanulo TanuloId, 'IGAZOLATLAN' Tipus, isnull(Igazolatlan.Osszes, 0)+isnull(IgazolatlanGyakorlatKeses.Osszes,0) Elmelet from @tanulok Tanulok left join ( select c_oratanuloiid Tanulo, count(tm.id) Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1500 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) Igazolatlan on Igazolatlan.Tanulo=Tanulok.Tanulo left join ( select c_oratanuloiid Tanulo, sum(c_kesespercben)/60 Osszes from t_tanulomulasztas tm inner join t_tanitasiora tao on tao.id=tm.c_tanitasiorakid --inner join t_foglalkozas fog on fog.id=tao.C_FOGLALKOZASID and fog.C_FOGLALKOZASTIPUSA=1339 inner join t_tantargy t on t.id=tao.c_tantargyid and t.c_gyakorlati='T' where tm.torolt='F' and tm.c_igazolt='F' and tm.c_tanevId=@tanevId and tm.c_tipus=1499 and ((tao.C_OSZTALYCSOPORTID in (select id from t_osztaly)) or (tao.c_osztalycsoportid in (select id from t_csoport where C_TIPUSA=1034))) group by c_oratanuloiid ) IgazolatlanGyakorlatKeses on IgazolatlanGyakorlatKeses.Tanulo=Tanulok.Tanulo )Gyakorlat on Gyakorlat.Tanuloid=Elmeletgyakorlat.TanuloId and Gyakorlat.Tipus=Elmeletgyakorlat.Tipus )Ossz ORDER BY TANULOID, TIPUS DESC END -- TANTÁRGYI MENTESSÉGEK SELECT distinct MENTESSEG.C_TANULOID TANULOID, TARGY.TARGYNEV, MENTESSEG.C_MENTESSEGOKA MENTESSEGOKA FROM T_TANULOMENTESSEG_OSSZES MENTESSEG JOIN (SELECT ID, C_NEV TARGYNEV FROM T_TANTARGY_OSSZES WHERE TOROLT='F') TARGY ON TARGY.ID = MENTESSEG.C_TANTARGYID JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = MENTESSEG.C_TANULOID WHERE MENTESSEG.TOROLT = 'F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND MENTESSEG.C_TANEVID = @TanevId ORDER BY MENTESSEG.C_TANULOID, TARGY.TARGYNEV -- BEJEGYZÉSEK SELECT T_TANULOESEMENY_OSSZES.C_TANULOID TANULOID, C_TARTALOM BEJEGYZES, C_TIPUS TIPUS FROM T_TANULOESEMENY_OSSZES JOIN (SELECT C_TANULOID, C_OSZTALYCSOPORTID FROM T_TANULOCSOPORT_OSSZES WHERE T_TANULOCSOPORT_OSSZES.TOROLT='F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())) TANCSOPORT ON TANCSOPORT.C_TANULOID = T_TANULOESEMENY_OSSZES.C_TANULOID WHERE T_TANULOESEMENY_OSSZES.TOROLT='F' AND TANCSOPORT.C_OSZTALYCSOPORTID = @osztalyId AND T_TANULOESEMENY_OSSZES.C_TIPUS = 1547 AND T_TANULOESEMENY_OSSZES.C_TIPUS != 1534 AND T_TANULOESEMENY_OSSZES.C_TANEVID = @TanevId ORDER BY T_TANULOESEMENY_OSSZES.C_TANULOID END GO