kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Functions/fnGetLathatoSzervezetek.sql
2024-03-13 00:33:46 +01:00

26 lines
973 B
Transact-SQL

DROP FUNCTION IF EXISTS fnGetLathatoSzervezetek
GO
CREATE FUNCTION fnGetLathatoSzervezetek (
@pIntezmenyId INT
,@pTanevId INT
,@pSzervezetId INT = NULL
,@pAdatokHalmaza INT = 0 -- 0: megadott szervezet és alszervezetei, 1: megadott szervezet (SzervezetId = NULL esetén az ősszes székhely), 2: megadott szervezet alszervezetei
)
RETURNS TABLE
RETURN (
SELECT
ID
FROM T_SZERVEZET_OSSZES sz
WHERE sz.TOROLT = 'F'
AND sz.C_TANEVID = @pTanevId
AND sz.C_INTEZMENYID = @pIntezmenyId
AND ((@pAdatokHalmaza = 1 AND @pSzervezetId IS NOT NULL AND ID = @pSzervezetId)
OR (@pAdatokHalmaza = 1 AND @pSzervezetId IS NULL AND C_PARENTSZERVEZETID IS NULL)
OR (@pAdatokHalmaza = 2 AND @pSzervezetId IS NOT NULL AND C_PARENTSZERVEZETID = @pSzervezetId)
OR (@pAdatokHalmaza = 0 AND @pSzervezetId IS NOT NULL AND (C_PARENTSZERVEZETID = @pSzervezetId OR ID = @pSzervezetId))
OR (@pAdatokHalmaza = 0 AND @pSzervezetId IS NULL))
);
GO