-- ============================================= -- Description: -- ============================================= DROP PROCEDURE IF EXISTS [dbo].[sp_GetAllOsztalyCsoport] GO CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport] @pFeladatKategoriaId INT AS BEGIN 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 AS 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 AS NumberAndTextOrder ,osztalyCsoport.ID AS ID ,osztalyCsoport.C_NEV AS Nev ,'1' AS Tipus ,NULL AS CsoportTipusa ,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam ,0 AS OsztalyCsoportOrder ,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId FROM T_OSZTALY osztaly INNER JOIN T_OSZTALYCSOPORT osztalyCsoport ON osztaly.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL) INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID 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 AS 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 AS NumberAndTextOrder ,osztalyCsoport.ID AS ID ,osztalyCsoport.C_NEV AS Nev ,'1' AS Tipus ,csoport.C_TIPUSA AS CsoportTipusa ,osztalyCsoport.C_EVFOLYAMTIPUSA AS Evfolyam ,1 AS OsztalyCsoportOrder ,feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS AS EllatottFeladatTipusId FROM T_CSOPORT csoport INNER JOIN T_OSZTALYCSOPORT osztalyCsoport ON csoport.ID = osztalyCsoport.ID AND (osztalyCsoport.C_FELADATKATEGORIAID = @pFeladatKategoriaId OR @pFeladatKategoriaId IS NULL) INNER JOIN T_FELADATELLATASIHELY feladatellatasiHely ON osztalyCsoport.C_FELADATELLATASIHELYID = feladatellatasiHely.ID WHERE osztalyCsoport.TOROLT = 'F' ORDER BY OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC END GO