kreta/Kreta.DataAccess.Migrations/Scripts/Archive/20190203130855_OM_1997/sp_GetAllOsztalyCsoport.sql
2024-03-13 00:33:46 +01:00

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