28 lines
1.1 KiB
Transact-SQL
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
|
|
)
|