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

28 lines
No EOL
1 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetTanarFoglalkozasai
GO
CREATE PROCEDURE uspGetTanarFoglalkozasai
@pTanarId int
,@pFoglalkozasTipusId int = NULL
,@pTanevId int
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT
CASE WHEN ocs.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(ocs.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder
,CASE WHEN LEFT(ocs.C_NEV, 1) BETWEEN '0' AND '9' AND ocs.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(ocs.C_NEV, 1, PATINDEX('%[^0-9]%', ocs.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder
,ocs.C_NEV
,f.ID
,ocs.ID OCSID
,ocs.C_EVFOLYAMTIPUSA Evfolyam
,(ocs.C_NEV + ' - ' + tgy.C_NEV) NEV
FROM T_FOGLALKOZAS_OSSZES f
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON f.C_OSZTALYCSOPORTID = ocs.ID
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = f.C_TANTARGYID
WHERE f.C_TANARID = @pTanarId
AND f.C_TANEVID = @pTanevId
AND f.TOROLT = 'F'
AND (@pFoglalkozasTipusId IS NULL OR f.C_FOGLALKOZASTIPUSA = @pFoglalkozasTipusId)
ORDER BY NumberOrder ASC, NumberAndTextOrder ASC, ocs.C_NEV ASC
END
GO