kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190222092123_om_2293/fnGetOsztalyCsoportTanuloinakTanugyiAdatai.sql
2024-03-13 00:33:46 +01:00

32 lines
No EOL
1.4 KiB
Transact-SQL

DROP FUNCTION IF EXISTS dbo.fnGetOsztalyCsoportTanuloinakTanugyiAdatai
GO
CREATE FUNCTION dbo.fnGetOsztalyCsoportTanuloinakTanugyiAdatai(
@pOsztalyCsoportId int
,@pDatum date = NULL)
RETURNS @tanugyiAdatok TABLE(TanuloId int,TanugyiAdatokId int)
AS
BEGIN
DECLARE @defaultKatId int = 7553
IF @pDatum IS NULL
SET @pDatum = GETDATE()
INSERT INTO @tanugyiAdatok
SELECT
t.ID AS TanuloId
,tta.ID AS TanuloTanugyiAdatokId
FROM T_TANULO_OSSZES t
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON t.ID = tcs.C_TANULOID AND tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId AND tcs.TOROLT = 'F'
AND tcs.C_BELEPESDATUM <= @pDatum
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > @pDatum)
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID = tcs.C_TANULOID AND tcso.TOROLT='F'
AND tcso.C_BELEPESDATUM <= @pDatum
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM > @pDatum)
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcso.C_OSZTALYCSOPORTID AND o.TOROLT='F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcso.ID AND tta.TOROLT='F'
WHERE (tcs.C_OSZTALYCSOPORTID = @pOsztalyCsoportId OR ocs.C_FELADATKATEGORIAID = @defaultKatId) AND t.TOROLT = 'F'
RETURN
END
GO