DROP PROCEDURE IF EXISTS uspGetOsztalycsoportTanevrendje GO CREATE PROCEDURE uspGetOsztalycsoportTanevrendje @pIntezmenyId int ,@pTanevId int ,@pOsztalyCsoportId int ,@pOsszesCsoportVonatkozokat bit = NULL ,@pDate datetime = NULL AS BEGIN SET NOCOUNT ON; DECLARE @sql nvarchar(max) SET @sql = N'' SET @sql += N' SELECT ID ,C_HETIREND ,C_DATUM ,C_CSENGETESIRENDID ,C_NAPTIPUSA ,C_HETNAPJA ,C_OSSZESCSOPORTRAVONATKOZIK ,C_ORARENDINAP FROM T_TANEVRENDJE_OSSZES LEFT JOIN T_OSZTALYCSOPORT_TANEVRENDJE on T_OSZTALYCSOPORT_TANEVRENDJE.C_TANEVRENDJEID = T_TANEVRENDJE_OSSZES.ID WHERE T_TANEVRENDJE_OSSZES.TOROLT = ''F'' and T_TANEVRENDJE_OSSZES.C_TANEVID = @pTanevId and T_TANEVRENDJE_OSSZES.C_INTEZMENYID = @pIntezmenyId ' + IIF(@pOsszesCsoportVonatkozokat IS NULL , 'and (T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID = @pOsztalyCsoportId OR T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID is null)', IIF(@pOsszesCsoportVonatkozokat = 0, 'and T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID = @pOsztalyCsoportId ', 'and T_OSZTALYCSOPORT_TANEVRENDJE.C_OSZTALYCSOPORTID is null')) + ' '+IIF(@pDate IS NOT NULL,'and T_TANEVRENDJE_OSSZES.C_DATUM = @pDate', '') EXEC sp_executesql @sql, N' @pIntezmenyId int ,@pTanevId int ,@pOsztalyCsoportId int ,@pDate datetime = NULL' ,@pIntezmenyId = @pIntezmenyId ,@pTanevId = @pTanevId ,@pOsztalyCsoportId = @pOsztalyCsoportId ,@pDate = @pDate END GO