34 lines
1.4 KiB
Transact-SQL
34 lines
1.4 KiB
Transact-SQL
DROP FUNCTION IF EXISTS fnGetOsztalyCsoportTanuloOsztalyList
|
|
GO
|
|
|
|
CREATE FUNCTION fnGetOsztalyCsoportTanuloOsztalyList (
|
|
@pTanevId int
|
|
,@pOsztalyCsoportId int
|
|
,@pFeladatKategoriaId int
|
|
,@pDatum date = NULL
|
|
,@pIsFromSzervezet bit = 0
|
|
)
|
|
RETURNS TABLE
|
|
AS RETURN
|
|
|
|
--NOTE: Azért kell a DISTINCT, ha ugyanoda ki-/besorolgatják a tanulót!
|
|
SELECT DISTINCT
|
|
TanuloCsoport.C_TANULOID
|
|
,OsztalyCsoport.ID
|
|
,OsztalyCsoport.C_EVFOLYAMTIPUSA
|
|
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES SourceTanuloCsoport ON SourceTanuloCsoport.TOROLT = 'F'
|
|
AND SourceTanuloCsoport.C_OSZTALYCSOPORTID = @pOsztalyCsoportId
|
|
AND SourceTanuloCsoport.C_TANULOID = TanuloCsoport.C_TANULOID
|
|
INNER JOIN T_OSZTALY_OSSZES Osztaly ON Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.C_ALTANEVID = TanuloCsoport.C_TANEVID
|
|
AND Osztaly.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = Osztaly.ID AND OsztalyCsoport.C_TANEVID = TanuloCsoport.C_TANEVID
|
|
AND OsztalyCsoport.TOROLT = 'F'
|
|
AND (OsztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pIsFromSzervezet = 1)
|
|
WHERE TanuloCsoport.C_TANEVID = @pTanevId
|
|
AND TanuloCsoport.TOROLT = 'F'
|
|
AND TanuloCsoport.C_BELEPESDATUM <= ISNULL(@pDatum, CONVERT(date, GETDATE()))
|
|
AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR TanuloCsoport.C_KILEPESDATUM > ISNULL(@pDatum, CONVERT(date, GETDATE())))
|
|
|
|
GO
|
|
|