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

46 lines
No EOL
1.3 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetElozoOrakAdatai
GO
CREATE PROCEDURE uspGetElozoOrakAdatai
@intezmenyId int,
@tanevId int,
@orakAdatai nvarchar(max)
AS
BEGIN
SET NOCOUNT ON;
SELECT
tao.ID AS Id
,tao.C_TEMA AS Tema
,tao.C_DATUM AS Datum
,fh.C_NYOMTATASINEV AS HelyettesNev
,tao.C_ORAEVESSORSZAMA AS EvesSorszam
,lista.TantargyId AS TantargyId
,lista.OsztalyCsoportId AS OsztalyCsoportId
,lista.TanarId AS TanarId
,lista.OraKezdete AS OraKezdete
FROM OPENJSON(@orakAdatai)
WITH (
TantargyId INT '$.TantargyId',
OsztalyCsoportId INT '$.OsztalyCsoportId',
TanarId INT '$.TanarId',
OraKezdete DATETIME '$.OraKezdete'
) lista
CROSS APPLY (
SELECT TOP 1 *
FROM T_TANITASIORA tao
WHERE tao.C_INTEZMENYID = @intezmenyId
AND tao.C_TANEVID = @tanevId
AND tao.C_DATUM < CAST(lista.OraKezdete AS DATE)
AND tao.C_OSZTALYCSOPORTID = lista.OsztalyCsoportId
AND tao.C_TANTARGYID = lista.TantargyId
AND tao.C_TANARID = lista.TanarId
AND tao.C_ORAKEZDETE <= lista.OraKezdete
AND tao.C_ORAEVESSORSZAMA IS NOT NULL
ORDER BY tao.C_ORAKEZDETE DESC, tao.C_ORAEVESSORSZAMA DESC
) tao
LEFT JOIN T_FELHASZNALO fh ON fh.ID = tao.C_HELYETTESITOTANARID
END
GO