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: -- ============================================= CREATE PROCEDURE [dbo].[sp_GetAllOsztalyCsoport] 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_OSZTALYCSOPORT osztalyCsoport INNER JOIN T_OSZTALY osztaly ON osztaly.ID = osztalyCsoport.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 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_OSZTALYCSOPORT osztalyCsoport INNER JOIN T_CSOPORT csoport ON csoport.ID = osztalyCsoport.ID WHERE osztalyCsoport.TOROLT = 'F' ORDER BY OsztalyCsoportOrder, NumberOrder ASC, NumberAndTextOrder ASC, osztalyCsoport.C_NEV ASC END