61 lines
No EOL
2.3 KiB
Transact-SQL
61 lines
No EOL
2.3 KiB
Transact-SQL
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
IF OBJECT_ID('[dbo].[sp_GetAllOsztalyCsoport]') IS NOT NULL
|
|
BEGIN
|
|
DROP PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Description: <Osztályok/csoportok és egyéb osztályok/csoportok>
|
|
-- =============================================
|
|
|
|
CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport]
|
|
@pFeladatKategoriaId INT
|
|
AS
|
|
BEGIN
|
|
|
|
-- SET NOCOUNT ON added to prevent extra result sets from
|
|
-- interfering with SELECT statements.
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT
|
|
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
|
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
|
osztalyCsoport.ID ID,
|
|
osztalyCsoport.C_NEV Nev,
|
|
'1' Tipus,
|
|
NULL CsoportTipusa,
|
|
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
|
|
0 OsztalyCsoportOrder
|
|
FROM
|
|
T_OSZTALY osztaly
|
|
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
|
ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
WHERE
|
|
osztalyCsoport.TOROLT = 'F'
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
CASE WHEN osztalyCsoport.C_NEV NOT LIKE '%[^0-9]%' THEN CAST(LEFT(osztalyCsoport.C_NEV,9) AS INT) ELSE 2147483647 END NumberOrder,
|
|
CASE WHEN LEFT(osztalyCsoport.C_NEV, 1) BETWEEN '0' AND '9' AND osztalyCsoport.C_NEV LIKE '%[^0-9]%' THEN CAST(LEFT(SUBSTRING(osztalyCsoport.C_NEV, 1, PATINDEX('%[^0-9]%', osztalyCsoport.C_NEV) - 1),9) AS INT) ELSE 2147483647 END NumberAndTextOrder,
|
|
osztalyCsoport.ID ID,
|
|
osztalyCsoport.C_NEV Nev,
|
|
'1' Tipus,
|
|
csoport.C_TIPUSA CsoportTipusa,
|
|
osztalyCsoport.C_EVFOLYAMTIPUSA Evfolyam,
|
|
1 OsztalyCsoportOrder
|
|
FROM
|
|
T_CSOPORT csoport
|
|
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport
|
|
ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL)
|
|
WHERE
|
|
osztalyCsoport.TOROLT = 'F'
|
|
ORDER BY
|
|
OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC
|
|
|
|
END |