28 lines
No EOL
1 KiB
Transact-SQL
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 |