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

54 lines
2.4 KiB
Transact-SQL

DROP PROCEDURE IF EXISTS uspGetOktatottSzakmaTanuloData
GO
CREATE PROCEDURE uspGetOktatottSzakmaTanuloData
@pTanevId int
,@pOktatasiNevelesiFeladatId int
,@pAgazatUjSzktTipusId int
,@pSzakmaTipusId int = NULL
,@pSzakmaIranyTipusId int = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@SzakmaTipusNa int = 7946
,@SzakmairanyTipusNa int = 8122
SELECT
dk.ID AS Id
,dk.C_NYOMTATASINEV AS Nev
,IIF(dk.C_NEVSORREND = 'T',
dk.C_UTONEV + ' ' + dk.C_VEZETEKNEV,
dk.C_VEZETEKNEV + ' ' + dk.C_UTONEV) NevElotagNelkul
,dk.C_ANYJANEVE AS AnyjaNeve
,dk.C_SZULETESIHELY AS SzuletesiHely
,dk.C_SZULETESIDATUM AS SzuletesiIdo
,dk.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,feh.C_OKTATASINEVELESIFELADATTIPUS AS OktatasiNevelesiFeladatId
,tta.C_AGAZATUJSZKTTIPUSID AS AgazatUjSzktTipusId
,tta.C_SZAKMATIPUSID AS SzakmaTipusId
,tta.C_SZAKMAIRANYTIPUSID AS SzakmaIranyTipusId
FROM T_TANULOTANUGYIADATOK_OSSZES tta
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID AND tcs.C_TANEVID = tta.C_TANEVID AND tcs.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_TANEVID = tta.C_TANEVID AND ocs.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID AND feh.C_TANEVID = tta.C_TANEVID AND feh.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES dk ON dk.ID = tcs.C_TANULOID AND dk.C_TANEVID = tta.C_TANEVID AND dk.TOROLT = 'F'
WHERE tta.C_TANEVID = @pTanevId
AND tta.TOROLT = 'F'
AND tcs.C_BELEPESDATUM <= GETDATE()
AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
AND feh.C_OKTATASINEVELESIFELADATTIPUS = @pOktatasiNevelesiFeladatId
AND tta.C_AGAZATUJSZKTTIPUSID = @pAgazatUjSzktTipusId
AND (tta.C_SZAKMATIPUSID = @pSzakmaTipusId OR -- True-nak kell lennie, ha megyeznek vagy,...
(tta.C_SZAKMATIPUSID IS NULL AND @pSzakmaTipusId IS NULL) OR -- ha mindkettő NULL vagy,...
(tta.C_SZAKMATIPUSID = @SzakmaTipusNa AND @pSzakmaTipusId IS NULL)) -- ha tanuló értéke Na és a paraméter NULL!
AND (tta.C_SZAKMAIRANYTIPUSID = @pSzakmaIranyTipusId OR -- True-nak kell lennie, ha megyeznek vagy,...
(tta.C_SZAKMAIRANYTIPUSID IS NULL AND @pSzakmaIranyTipusId IS NULL) OR -- ha mindkettő NULL vagy,...
(tta.C_SZAKMAIRANYTIPUSID = @SzakmairanyTipusNa AND @pSzakmaIranyTipusId IS NULL)) -- ha tanuló értéke Na és a paraméter NULL!
END
GO