46 lines
1.7 KiB
Transact-SQL
46 lines
1.7 KiB
Transact-SQL
DROP FUNCTION IF EXISTS fnGetTanuloOsztaly
|
|
GO
|
|
|
|
CREATE FUNCTION fnGetTanuloOsztaly (
|
|
@pTanuloId int
|
|
,@pDatum date = NULL
|
|
,@pFeladatKategoriaId int = NULL
|
|
,@pKiiratkozottNeJelenjenMeg bit = 1
|
|
,@pOktatasiNevelesiFeladatId int = NULL
|
|
)
|
|
RETURNS @ResultTable TABLE (
|
|
ID int
|
|
,EvfolyamTipusId int
|
|
,OsztalyNev nvarchar (255)
|
|
,BelepesDatuma datetime
|
|
)
|
|
AS BEGIN
|
|
|
|
INSERT INTO @ResultTable (
|
|
ID
|
|
,EvfolyamTipusId
|
|
,OsztalyNev
|
|
,BelepesDatuma
|
|
)
|
|
SELECT
|
|
OsztalyCsoport.ID
|
|
,OsztalyCsoport.C_EVFOLYAMTIPUSA
|
|
,OsztalyCsoport.C_NEV
|
|
,TanuloCsoport.C_BELEPESDATUM
|
|
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
|
|
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 @pFeladatKategoriaId IS NULL)
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES FeladatEllatasiHely ON FeladatEllatasiHely.ID = OsztalyCsoport.C_FELADATELLATASIHELYID
|
|
AND (FeladatEllatasiHely.C_OKTATASINEVELESIFELADATTIPUS = @pOktatasiNevelesiFeladatId OR @pOktatasiNevelesiFeladatId IS NULL)
|
|
WHERE TanuloCsoport.C_TANULOID = @pTanuloId
|
|
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()))) OR @pKiiratkozottNeJelenjenMeg = 0)
|
|
|
|
RETURN
|
|
|
|
END
|
|
GO
|