DROP PROCEDURE IF EXISTS uspSzirStatKonyvtar GO CREATE PROCEDURE uspSzirStatKonyvtar @pIntezmenyId int ,@pTanevId int AS BEGIN SET NOCOUNT ON; DECLARE @ElozoTanevId int; SELECT @ElozoTanevId = ID FROM T_TANEV_OSSZES WHERE TOROLT = 'F' AND C_INTEZMENYID = @pIntezmenyId AND C_SORSZAM = (SELECT C_SORSZAM - 2 FROM T_TANEV where ID = @pTanevId AND C_INTEZMENYID = @pIntezmenyId); SELECT ISNULL(szk.ID, szkk.ID) AS ID ,szk.ID AS SzirId ,szkk.ID AS KategoriaId ,COALESCE(szk.C_NYITOADAT, szk_elo.C_NYITOADAT) AS Nyitoadat ,COALESCE(szk.C_NYITOADATNEMZETISEGI, szk_elo.C_NYITOADATNEMZETISEGI) AS NyitoadatNemzetisegi ,COALESCE(szk.C_GYARAPODAS, szk_elo.C_GYARAPODAS) AS Gyarapodas ,COALESCE(szk.C_FORGALOM, szk_elo.C_FORGALOM) AS Forgalom ,szkk.Sorszam AS Sorszam ,szkk.C_NEV AS Nev ,szkk.Szint AS Szint FROM ( SELECT ID ,C_NEV ,ROW_NUMBER() OVER(ORDER BY szkk.ID ASC) AS Sorszam ,CASE WHEN ID % 1000 = 0 THEN 1 WHEN ID % 100 = 0 THEN 2 WHEN ID % 10 = 0 THEN 3 WHEN ID % 1 = 0 THEN 4 END AS Szint ,TOROLT FROM T_SZIRSTATKONYVTARKATEGORIA szkk WHERE TOROLT = 'F' ) szkk LEFT JOIN T_SZIRSTATKONYVTAR_OSSZES szk ON szk.C_SZIRSTATKONYVTARKATEGORIAID = szkk.ID AND szk.C_INTEZMENYID = @pIntezmenyId AND szk.C_TANEVID = @pTanevId AND szk.TOROLT = 'F' LEFT JOIN T_SZIRSTATKONYVTAR_OSSZES szk_elo ON szk_elo.C_SZIRSTATKONYVTARKATEGORIAID = szkk.ID AND szk_elo.C_INTEZMENYID = @pIntezmenyId AND szk_elo.C_TANEVID = @ElozoTanevId AND szk_elo.TOROLT = 'F' WHERE szkk.TOROLT = 'F' END GO