DROP PROCEDURE IF EXISTS uspGetOsszefuggoSzakGyakosCsoportok GO CREATE PROCEDURE uspGetOsszefuggoSzakGyakosCsoportok @pOsszefuggoSzakGyakTipus INT ,@pOktNevKatTipus INT ,@pTanevId 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 ,csoport.ID AS ID ,osztalyCsoport.C_NEV AS Nev FROM T_CSOPORT_OSSZES csoport INNER JOIN T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON osztalyCsoport.ID = csoport.ID AND osztalyCsoport.C_FELADATKATEGORIAID = @pOktNevKatTipus AND osztalyCsoport.TOROLT = 'F' WHERE csoport.C_TIPUSA = @pOsszefuggoSzakGyakTipus AND csoport.TOROLT = 'F' AND csoport.C_ALTANEVID = @pTanevId ORDER BY NumberOrder ASC ,NumberAndTextOrder ASC ,osztalyCsoport.C_NEV ASC END GO