kreta/Kreta.DataAccess.Migrations/DBScripts/Database/dbo/Stored procedures/uspSzirStatKonyvtar.sql
2024-03-13 00:33:46 +01:00

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