54 lines
No EOL
1.7 KiB
Transact-SQL
54 lines
No EOL
1.7 KiB
Transact-SQL
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 |