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