init
This commit is contained in:
@@ -0,0 +1,563 @@
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
IF OBJECT_ID('[dbo].[sp_GetESL_A03T01_1]') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[sp_GetESL_A03T01_1]
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[sp_GetESL_A03T01_1]
|
||||
@tanevId int,
|
||||
@intezmenyId int,
|
||||
@feladatEllatasiHelyId int
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
--Táblák deklarálása
|
||||
declare @tmpA03T01 table (Id nvarchar(100), [1307] int, [1308] int, [1309] int, [1310] int, [1311] int, [1312] int, [1313] int, [1314] int, Osszesen int, Lany int, Rendez int)
|
||||
declare @Dictionary table (Id int, Name nvarchar(max), Value int, Tipus nvarchar(max))
|
||||
--declare @EvfolyamokTMP table (Id int, Evfolyam int)
|
||||
declare @Evfolyamok table (Id int, Evfolyam int)
|
||||
declare @TanuloErtekeles table (Id int, Tanulo int, Ertekeles int, Tipus int)
|
||||
declare @FeladatEllatasiHelyekIntezmenyhez table (FHId int, IntezmenyId int)
|
||||
declare @FHhozTartozoTanulok table (Intezmeny int, FH int, Evfolyam int, TanuloId int, Neme int)
|
||||
declare @OsszesitettTanulok table (Tanulo int)
|
||||
declare @2feltetelTeljesulTanulok table (Tanulo int)
|
||||
|
||||
--Dátumok deklarásása
|
||||
declare @kezdet int,
|
||||
@veg int,
|
||||
@felev int
|
||||
|
||||
select top 1 @kezdet= iif(getdate()<=C_DATUM,1394,1400), --első félév
|
||||
@veg= iif(getdate()<=C_DATUM,1400,1395) --második félév
|
||||
from t_tanevrendje tr where c_naptipusa=1400 and c_tanevId=1 and c_intezmenyId=1 and torolt='F'
|
||||
|
||||
DECLARE @FelevKezdete DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@kezdet and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
DECLARE @FelevVege DATE = (select top 1 c_datum from t_tanevrendje tr where c_naptipusa=@veg and c_tanevid=@tanevid and c_intezmenyid=@intezmenyid and torolt='F')
|
||||
|
||||
DECLARE @FelHelyTipusKozepes FLOAT = 3.0
|
||||
SELECT @FelHelyTipusKozepes =
|
||||
IIF(
|
||||
fh.C_OKTATASINEVELESIFELADATTIPUS IN (1160, 1161, 1162, 5435, 1176, 6463)
|
||||
, 2.5
|
||||
, 3.0
|
||||
)
|
||||
FROM T_FELADATELLATASIHELY fh
|
||||
WHERE fh.ID = @feladatEllatasiHelyId AND fh.TOROLT = 'F'
|
||||
|
||||
--Táblák feltöltése
|
||||
INSERT INTO @Dictionary
|
||||
SELECT DISTINCT id, c_name, c_value, c_type FROM T_DICTIONARYITEMBASE
|
||||
|
||||
INSERT INTO @Evfolyamok
|
||||
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
|
||||
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
|
||||
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
|
||||
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
|
||||
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
|
||||
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
|
||||
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
|
||||
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
|
||||
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
|
||||
1319, 1322) THEN 1314 /* 12. évfolyam*/
|
||||
ELSE null
|
||||
END AS Evfolyam
|
||||
FROM @Dictionary
|
||||
where Tipus like 'EvfolyamTipus')Evfolyamok
|
||||
where Evfolyam is not null
|
||||
|
||||
/*
|
||||
INSERT INTO @EvfolyamokTMP
|
||||
SELECT id, Evfolyam from (SELECT DISTINCT id, CASE
|
||||
WHEN id in (1307,1330,1334) THEN 1307 /* 5. évfolyam*/
|
||||
WHEN id in (1308) THEN 1308 /* 6. évfolyam*/
|
||||
WHEN id in (1309,1331,1335) THEN 1309 /* 7. évfolyam*/
|
||||
WHEN id in (1310,1324) THEN 1310 /* 8. évfolyam*/
|
||||
WHEN id in (1311,1316,1332,1333,3018,3019,3020) THEN 1311 /* 9. évfolyam*/
|
||||
WHEN id in (1312,1323) THEN 1312 /* 10. évfolyam*/
|
||||
WHEN id in (1313, 1317, 1325,3016 ) THEN 1313 /* 11. évfolyam*/
|
||||
WHEN id in (1314,1318,1326, 3017, 3021, 3022 /*??*/,
|
||||
1319, 1322) THEN 1314 /* 12. évfolyam*/
|
||||
ELSE null
|
||||
END AS Evfolyam
|
||||
FROM @Dictionary
|
||||
where Tipus like 'EvfolyamTipus')Evfolyamok
|
||||
where Evfolyam is not null
|
||||
|
||||
--Évfolyamok kiválasztásához szükséges (pl általánosnál csak 5-8. évfolyam jelenjen meg)
|
||||
declare @also int=(
|
||||
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
|
||||
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID and ocs.C_EVFOLYAMTIPUSA in (1307, 1330, 1334, 1308, 1309, 1331, 1335, 1310, 1324) and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
|
||||
inner join t_osztaly o on o.id=ocs.id
|
||||
where tcs.C_TANEVID=@tanevId )
|
||||
|
||||
declare @felso int=(
|
||||
select count(distinct tcs.c_osztalycsoportid) from t_tanulocsoport tcs
|
||||
inner join t_osztalycsoport ocs on ocs.id=tcs.C_OSZTALYCSOPORTID
|
||||
and ocs.C_EVFOLYAMTIPUSA in (1311, 1316, 1332, 1333, 3018, 3019, 3020, 1312, 1323, 1313, 1317, 1325, 3016, 1314, 1318, 1326, 3017, 3021, 3022, 1319, 1322 )
|
||||
and ocs.C_FELADATELLATASIHELYID=@feladatEllatasiHelyId
|
||||
inner join t_osztaly o on o.id=ocs.id
|
||||
where tcs.C_TANEVID=@tanevId )
|
||||
|
||||
IF (@also>=@felso)
|
||||
begin
|
||||
insert into @Evfolyamok
|
||||
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1307,1308,1309,1310)
|
||||
end
|
||||
ELSE
|
||||
begin
|
||||
insert into @Evfolyamok
|
||||
select Id, Evfolyam from @EvfolyamokTMP where Evfolyam in(1311,1312,1313,1314)
|
||||
end
|
||||
*/
|
||||
--Egy adott FH-hoz tartozó tanulók
|
||||
insert into @FHhozTartozoTanulok
|
||||
select distinct ocs.c_intezmenyid, ocs.C_FELADATELLATASIHELYID, evf.Evfolyam, tcs.C_TANULOID, f.C_NEME from t_osztalycsoport ocs
|
||||
inner join t_tanulocsoport tcs on tcs.C_OSZTALYCSOPORTID=ocs.ID and tcs.TOROLT='F' and tcs.C_TANEVID=@tanevId
|
||||
inner join T_FELHASZNALO f on f.id=tcs.c_tanuloid
|
||||
inner join @Evfolyamok evf on evf.Id=ocs.C_EVFOLYAMTIPUSA
|
||||
where ocs.C_FELADATELLATASIHELYID = @feladatEllatasiHelyId and ocs.C_TANEVID=@tanevId
|
||||
|
||||
INSERT INTO @TanuloErtekeles
|
||||
select Id, C_tanuloid, c_ertekelesosztalyzatid, c_tipusid from T_TANULOERTEKELES te
|
||||
INNER JOIN @FHhozTartozoTanulok fht on fht.TanuloId=te.C_TANULOID
|
||||
where torolt='F' and C_TANEVID=@tanevId
|
||||
|
||||
/* !!! a03t01 !!! */
|
||||
|
||||
-- 1. félév értékelésnél, minősítésnél....átlag<@FelHelyTipusKozepes
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct Tanulo from @TanuloErtekeles te
|
||||
inner join @Dictionary d on d.id=te.Ertekeles
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519
|
||||
group by Tanulo
|
||||
having round(avg(convert(float, d.VALUE)),1)<@FelHelyTipusKozepes
|
||||
|
||||
declare @Osszes3atlagalattLany int=(select count(Tanulo) from (select Tanulo from @TanuloErtekeles te
|
||||
inner join @Dictionary d on d.id=te.Ertekeles
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and fht.Neme=5
|
||||
group by Tanulo
|
||||
having round(avg(convert(float, d.VALUE)),1)<@FelHelyTipusKozepes)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5578', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes3atlagalattLany, 1 Rendez
|
||||
from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join (select round(avg(convert(float, d.VALUE)),1) Atlag, Tanulo from @TanuloErtekeles te
|
||||
inner join @Dictionary d on d.id=te.Ertekeles
|
||||
where te.Tanulo in (select Tanuloid from @FHhozTartozoTanulok ) and te.Tipus=1519 group by Tanulo
|
||||
having round(avg(convert(float, d.VALUE)),1)<@FelHelyTipusKozepes) Atlag on Atlag.Tanulo=fht.TanuloId
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join (select round(avg(convert(float, d.VALUE)),1) Atlag, Tanulo from @TanuloErtekeles te
|
||||
inner join @Dictionary d on d.id=te.Ertekeles
|
||||
where te.Tanulo in (select Tanuloid from @FHhozTartozoTanulok ) and te.Tipus=1519 group by Tanulo
|
||||
having round(avg(convert(float, d.VALUE)),1)<@FelHelyTipusKozepes) Atlag on Atlag.Tanulo=fht.TanuloId) is null )a
|
||||
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))pv
|
||||
|
||||
--1,1 mértékben romlott ?????????????????????????????
|
||||
|
||||
--egy, vagy több tantárgyból elégtelen osztályzat
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501
|
||||
|
||||
|
||||
DECLARE @ElegtelenFeleviLany int=(select count(distinct fht.TanuloId) from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo and fht.Neme=5
|
||||
where te.Tipus=1519 and te.Ertekeles=1501)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5579', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @ElegtelenFeleviLany, 2 Rendez from (select distinct fht.TanuloId, fht.Evfolyam from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId from @TanuloErtekeles te
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=te.Tanulo
|
||||
where te.Tipus=1519 and te.Ertekeles=1501)is null)a
|
||||
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))pv
|
||||
|
||||
-- félév, magatartás, 2
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_MAGATARTASERTEKID=1558
|
||||
|
||||
|
||||
declare @OsszesFeleviRosszMagatartasLany int =(select count(distinct fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_MAGATARTASERTEKID=1558 and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5580', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesFeleviRosszMagatartasLany, 3 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_MAGATARTASERTEKID=1558
|
||||
union
|
||||
select null, null where
|
||||
(select top 1 fht.TanuloId Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_MAGATARTASERTEKID=1558)is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
-- félév, sozrgalom, 2
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_SZORGALOMERTEKID=1562
|
||||
|
||||
declare @OsszesFeleviRosszSzorgalomLany int =(select count(distinct fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_SZORGALOMERTEKID=1562 and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5581', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesFeleviRosszSzorgalomLany, 4 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_SZORGALOMERTEKID=1562
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId Tanulo from @FHhozTartozoTanulok fht
|
||||
inner join @TanuloErtekeles te on te.Tanulo=fht.TanuloId
|
||||
inner join t_tanuloertekeles tanuloErtekeles on tanuloErtekeles.id=te.ID and tanuloErtekeles.C_SZORGALOMERTEKID=1562)is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--adott évben évismétlés
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id
|
||||
|
||||
declare @OsszesEvismetloTanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5582', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesEvismetloTanuloLany, 5 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.c_evismetlo='T' and fht.TanuloId=t.id and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--Félévben 50 órát elérő igazolatlan hiányzás
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50
|
||||
|
||||
declare @Osszes50fFelettiIgazolatlanLany int=(select count(Tanulo) from (select fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID and fht.Neme=5
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5583',*,[1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes50fFelettiIgazolatlanLany, 6 Rendez from (select Tanulo, Evfolyam from (select fht.Tanuloid Tanulo, fht.Evfolyam from T_TANULOMULASZTAS tm
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>50)a
|
||||
union
|
||||
select null, null where (select top 1 fht.Tanuloid from T_TANULOMULASZTAS tm
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=tm.C_ORATANULOIID
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='F' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId
|
||||
having count(Tanuloid)>50
|
||||
) is null
|
||||
)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--Szülő kérésére magántanuló
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
|
||||
|
||||
declare @OsszesSzuloMagantanuloLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5584', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesSzuloMagantanuloLany, 7 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MAGANTANULOSAGANAKOKA in (663, 664) and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--Szülő kérésére folyamtban????
|
||||
|
||||
--Menekült, menedékjoggal rendelkező
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T'and fht.TanuloId=t.id
|
||||
|
||||
declare @OsszesMenedekjoggalRendLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5585', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesMenedekjoggalRendLany, 8 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_MENEDEKJOGGALRENDELKEZO='T' and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--Félévben veszélyeztetett tanulók száma
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
|
||||
|
||||
declare @OsszesVeszelyeztettLany int = (select count(TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T' and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5586', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesVeszelyeztettLany, 9 Rendez from (select TanuloId, Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T'
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.id=fht.TanuloId and t.C_VESZELYEZTETETT='T') is null)a
|
||||
pivot (count(TanuloId) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--ideiglenes hatállyal elhelyezett vagy nevelésbe vett tanulók
|
||||
insert into @OsszesitettTanulok
|
||||
select distinct fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on fht.TanuloId=t.id and t.C_ALLAMIGONDOZOTT='T'
|
||||
|
||||
declare @OsszesAllamigondozottLany int =(select count(fht.TanuloId) from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id and fht.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5587', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesAllamigondozottLany, 10 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id
|
||||
union
|
||||
select null, null where (select top 1 fht.TanuloId from @FHhozTartozoTanulok fht
|
||||
inner join t_tanulo t on t.C_ALLAMIGONDOZOTT='T' and fht.TanuloId=t.id) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--legalább 2 feltétel teljesül
|
||||
insert into @2feltetelTeljesulTanulok
|
||||
select Tanulo from @OsszesitettTanulok group by Tanulo having count(Tanulo)>=2
|
||||
|
||||
declare @OsszesOsszeslanyMin2 int=(select count(Tanulo) from @2feltetelTeljesulTanulok kt
|
||||
inner join @FHhozTartozoTanulok ft on ft.TanuloId=kt.Tanulo and ft.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5588', *, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesOsszeslanyMin2, 11 Rendez from (select Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null,null
|
||||
where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ot.Tanulo)is null ) a
|
||||
pivot (count (Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
|
||||
--Szum
|
||||
declare @OsszesOsszesLany int= (select count(distinct Tanulo) from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5025', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesOsszesLany, -1 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo ) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--Szum lány
|
||||
insert into @tmpA03T01
|
||||
select '4952', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], null, 0 Rendez from (select distinct Tanulo, Evfolyam from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5
|
||||
union
|
||||
select null, null where (select top 1 Tanulo from @OsszesitettTanulok ot
|
||||
inner join @FHhozTartozoTanulok fh on fh.TanuloId=ot.Tanulo and fh.Neme=5) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--kettő feltétel esetén ... félévben 100 órát elért hiányzás
|
||||
declare @Osszes100IgazoltLany int = (select count(Tanulo) from (select distinct fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5589', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @Osszes100IgazoltLany, 12 Rendez from (select distinct fht.Tanuloid Tanulo, fht.Evfolyam from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.Tanuloid Tanulo from T_TANULOMULASZTAS tm
|
||||
inner join @2feltetelTeljesulTanulok kt on kt.Tanulo=tm.C_ORATANULOIID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
inner join t_tanitasiora tao on tao.id=tm.C_TANITASIORAKID and tao.C_DATUM>@FelevKezdete and tao.C_DATUM<@FelevVege
|
||||
where tm.C_IGAZOLT='T' and tm.c_tanevid=@tanevId
|
||||
group by fht.TanuloId, fht.Evfolyam
|
||||
having count(Tanuloid)>=100) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--kettő feltétel ... kiemelet fogyelmet igénylő --sni
|
||||
declare @OsszesSni2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
|
||||
)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5590', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesSni2feltetelLany, 13 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_SAJATOSNEVELESU='T'
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--kettő feltétel ... kiemelet fogyelmet igénylő --rendszeres gyermekvédelmi
|
||||
declare @OsszesRgyT2feltetelLany int = (select count(Tanulo) from (select kt.Tanulo Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo and fht.Neme=5
|
||||
)a)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5591', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesRgyT2feltetelLany, 14 Rendez from (select kt.Tanulo, fht.Evfolyam from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 kt.Tanulo from @2feltetelTeljesulTanulok kt
|
||||
inner join t_tanulo t on t.ID=kt.Tanulo and t.C_RENDSZERESGYERMEKVEDELMIKEDV is not null
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=kt.Tanulo) is null)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--kettő feltétel ... alapfokú oktatásban 16
|
||||
declare @OsszesAlapfoku16AlattLany int =(select count(fht.TanuloId) from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310) and fht.Neme=5
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select '5592', piv.*, [1307]+[1308]+[1309]+[1310]+[1311]+[1312]+[1313]+[1314], @OsszesAlapfoku16AlattLany, 14 Rendez from (select fht.TanuloId Tanulo, fht.Evfolyam Evfolyam from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 fht.TanuloId Tanulo from @2feltetelTeljesulTanulok ketfeltetel
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1307,1308,1309,1310)
|
||||
inner join (select f.id Tanuloid,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE()), f.C_SZULETESIDATUM) < GETDATE() THEN DATEDIFF(yy, f.C_SZULETESIDATUM, GETDATE())
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM,GETDATE()) - 1
|
||||
end as Eletkor from t_felhasznalo f
|
||||
) szulido on szulido.TanuloId=ketfeltetel.Tanulo
|
||||
where szulido.Eletkor>15) is null
|
||||
)a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
|
||||
--középfokú oktatásban 16. életévének betöltését követően lépett be
|
||||
/*
|
||||
ELSE
|
||||
begin
|
||||
declare @OsszesKozepfoku16felett int = (
|
||||
select count(Tanulo) from (
|
||||
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
|
||||
end as Eletkor
|
||||
from T_TANULOCSOPORT tcs
|
||||
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
|
||||
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
|
||||
where tcs.torolt='F'
|
||||
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
|
||||
where Eletkor>=16
|
||||
)
|
||||
|
||||
declare @OsszesKozepfoku16felettLany int = (
|
||||
select count(Tanulo) from (
|
||||
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
|
||||
end as Eletkor
|
||||
from T_TANULOCSOPORT tcs
|
||||
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
|
||||
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314) and fht.Neme=5
|
||||
where tcs.torolt='F'
|
||||
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
|
||||
where Eletkor>=16
|
||||
)
|
||||
|
||||
insert into @tmpA03T01
|
||||
select 'kozepfoku16utan', piv.*, @OsszesKozepfoku16felett, @OsszesKozepfoku16felettLany from (select Tanulo, Evfolyam from (
|
||||
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
|
||||
end as Eletkor
|
||||
from T_TANULOCSOPORT tcs
|
||||
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
|
||||
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
|
||||
where tcs.torolt='F'
|
||||
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
|
||||
where Eletkor>=16
|
||||
union
|
||||
select null, null
|
||||
where (select top 1 Tanulo from (
|
||||
select tcs.c_tanuloid Tanulo, fht.Evfolyam,
|
||||
case
|
||||
WHEN DATEADD(YY, DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)), f.C_SZULETESIDATUM) < min(tcs.c_belepesdatum) THEN DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum))
|
||||
ELSE DATEDIFF(yy, f.C_SZULETESIDATUM, min(tcs.c_belepesdatum)) - 1
|
||||
end as Eletkor
|
||||
from T_TANULOCSOPORT tcs
|
||||
inner join @2feltetelTeljesulTanulok ketfeltetel on ketfeltetel.Tanulo=tcs.C_TANULOID
|
||||
inner join t_osztaly o on o.id=tcs.c_osztalycsoportid
|
||||
inner join t_felhasznalo f on f.id=tcs.C_TANULOID
|
||||
inner join @FHhozTartozoTanulok fht on fht.TanuloId=ketfeltetel.Tanulo and fht.Evfolyam in (1311,1312,1313,1314)
|
||||
where tcs.torolt='F'
|
||||
group by tcs.c_tanuloid, fht.Evfolyam, f.C_SZULETESIDATUM)a
|
||||
where Eletkor>=16) is null )a
|
||||
pivot (count(Tanulo) for Evfolyam in ([1307], [1308], [1309], [1310], [1311], [1312], [1313], [1314]))piv
|
||||
end
|
||||
*/
|
||||
|
||||
-- a03t01
|
||||
select Id, [1307] 'Evfolyam5', [1308] 'Evfolyam6', [1309] 'Evfolyam7', [1310] 'Evfolyam8', [1311] 'Evfolyam9', [1312] 'Evfolyam10', [1313] 'Evfolyam11', [1314] 'Evfolyam12', Osszesen, Lany from @tmpA03T01
|
||||
order by Rendez
|
||||
|
||||
END
|
Reference in New Issue
Block a user