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

49 lines
1.7 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetTanuloTantargyakByOktatasiAzonosito
GO
CREATE PROCEDURE uspGetTanuloTantargyakByOktatasiAzonosito
@pTanuloOktatasiAzonosito NVARCHAR(20)
,@pTanevId INT
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT Tantargy.ID AS KretaAzonosito
,Tantargy.C_NEV AS Nev
FROM T_TANTARGY_OSSZES Tantargy
INNER JOIN T_FOGLALKOZAS_OSSZES Foglalkozas ON Foglalkozas.C_TANTARGYID = Tantargy.ID
AND Foglalkozas.TOROLT = 'F'
WHERE EXISTS (
SELECT 1
FROM T_OSZTALYCSOPORT_OSSZES OsztalyCsoport
INNER JOIN T_TANULOCSOPORT_OSSZES Tanulocsoport ON Tanulocsoport.C_OSZTALYCSOPORTID = OsztalyCsoport.ID
AND Tanulocsoport.TOROLT = 'F'
AND Tanulocsoport.C_INTEZMENYID = OsztalyCsoport.C_INTEZMENYID
AND Tanulocsoport.C_TANEVID = OsztalyCsoport.C_TANEVID
AND TanuloCsoport.C_BELEPESDATUM <= (
SELECT IIF(GETDATE() < C_ELSOTANITASINAP, C_ELSOTANITASINAP, GETDATE())
FROM T_TANEV_OSSZES
WHERE C_AKTIV = 'T'
AND TOROLT = 'F'
AND C_INTEZMENYID = TanuloCsoport.C_INTEZMENYID
)
AND (
TanuloCsoport.C_KILEPESDATUM IS NULL
OR TanuloCsoport.C_KILEPESDATUM > GETDATE()
)
WHERE EXISTS (
SELECT 1
FROM T_FELHASZNALO_OSSZES Felhasznalo
WHERE Felhasznalo.ID = Tanulocsoport.C_TANULOID
AND Felhasznalo.TOROLT = 'F'
AND Felhasznalo.C_OKTATASIAZONOSITO = @pTanuloOktatasiAzonosito
)
AND Foglalkozas.C_OSZTALYCSOPORTID = OsztalyCsoport.ID
AND Foglalkozas.TOROLT = 'F'
)
AND Tantargy.TOROLT = 'F'
AND Tantargy.C_TANEVID = @pTanevId
END
GO