DROP PROCEDURE IF EXISTS uspGetTanuloOsztalyCsoportjai GO CREATE PROCEDURE uspGetTanuloOsztalyCsoportjai @pTanuloId int ,@pTanevId int ,@pIsAktiv bit AS BEGIN DECLARE @feladatKategoriaId int ,@tanevNev nvarchar(30) ,@sql nvarchar(max) SELECT @feladatKategoriaId = C_DEFAULTFELADATKATEGORIAID ,@tanevNev = C_NEV FROM T_TANEV WHERE ID = @pTanevId SET @sql = N' SELECT tcs.ID ,ocs.C_NEV Nev ,ocs.C_EVFOLYAMTIPUSA EvfolyamTipus ,@tanevNev Tanev ,tcs.C_BELEPESDATUM ErvKezd ,tcs.C_KILEPESDATUM ErvVeg ,cs.C_TIPUSA CsoportTipus ,ob.C_NEV AS Osztalybontas ,o.C_KEPZESIFORMA AS KepzesiForma ,CASE WHEN o.ID IS NOT NULL THEN ''F'' ELSE ''T'' END AS IsCsoport FROM T_TANULOCSOPORT_OSSZES tcs INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.C_FELADATKATEGORIAID = @feladatKategoriaId LEFT JOIN T_CSOPORT_OSSZES cs ON cs.ID = ocs.ID AND cs.TOROLT = ''F'' LEFT JOIN T_OSZTALYCSOPORT_OSSZES ob ON ob.ID = cs.C_OSZTALYBONTASID AND ob.TOROLT = ''F'' LEFT JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = ''F'' WHERE tcs.TOROLT = ''F'' AND tcs.C_TANULOID = @tanuloId ' + IIF(@pIsAktiv = 1, 'AND tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM is null or tcs.C_KILEPESDATUM >= GETDATE())', '') EXEC sp_executesql @sql, N' @tanuloId int ,@tanevNev nvarchar(30) ,@tanevId int ,@feladatKategoriaId int' ,@tanuloId = @pTanuloId ,@tanevNev = @tanevNev ,@tanevId = @pTanevId ,@feladatKategoriaId = @feladatKategoriaId END GO