kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20170502141026_KRETA_139/fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet.sql
2024-03-13 00:33:46 +01:00

28 lines
1.1 KiB
Transact-SQL

IF OBJECT_ID('fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet') IS NOT NULL BEGIN
DROP FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION fnGetDokumentumTanulokEvesOraszamaiOsztalynkonet (@tanevId int, @osztalyId int)
RETURNS TABLE
RETURN (
SELECT
C_TANULOID TanuloId
, ISNULL(t.C_FOTARGYID, t.ID) TantargyId
, SUM(fog.C_ORASZAM) * IIF((SELECT C_VEGZOSEVFOLYAM FROM T_OSZTALYCSOPORT_OSSZES WHERE ID = @osztalyId) = 'T', 32, 36) Oraszam
FROM
T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FOGLALKOZAS_OSSZES fog ON fog.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
INNER JOIN T_TANTARGY_OSSZES t on t.ID = fog.C_TANTARGYID
WHERE
tcs.C_TANULOID IN ( SELECT TanuloId FROM fnGetDokumentumOsztalyokTanuloi(@tanevId, @osztalyId, 'T') )
AND ((tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_OSZTALY_OSSZES)) OR (tcs.C_OSZTALYCSOPORTID IN (SELECT ID FROM T_CSOPORT_OSSZES WHERE C_TIPUSA=1034)))
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @tanevId
GROUP BY C_TANULOID, t.C_FOTARGYID, t.ID
)