Hi Vijay, here's the whole thing. Hope it helps.ALTER PROC [dbo].[.......]( @START_DATE datetime, @END_DATE datetime)ASBEGINDECLARE @tblTimeCodes TABLE( TimeCode varchar(5), CodeName varchar(25))INSERT INTO @tblTimeCodes SELECT TIME_CODE, TIME_NAME FROM TIME_CODES WHERE TIME_CODE = '1'INSERT INTO .....SELECT DISTINCT Codes.CodeName, Codes.TimeCode, G.GROUP_NAME, PIN.PARAM_NAME, CASE WHEN GI.GUIDE_PARAM IS NOT NULL AND EVT.EVT_NUM IS NOT NULL THEN CAST(COUNT(EVT.EVT_NUM) AS VARCHAR) WHEN EVT.EVT_NUM IS NULL AND GI.GUIDE_PARAM IS NULL THEN 'n/a' WHEN GI.GUIDE_PARAM IS NOT NULL AND EVT.EVT_NUM IS NULL THEN '0' ELSE 'n/a' END AS EventCount, @START_DATE as 'StartDate', @END_DATE as 'EndDate',CAST(GI.GUIDE_LEVEL AS VARCHAR(20)) + ' ' + CAST(UC.UNIT_ABBREV AS VARCHAR(20)) AS 'Objective'FROM GROUP_INFO G INNER JOIN @tblTimeCodes Codes ON 1=1 LEFT OUTER JOIN GROUP_PARAMETER_XREF GPX ON GPX.GPOUP_ID = G.GROUP_ID AND GPX.GP_COLTYPE = '1' INNER JOIN PARAMETER_INFO PIN ON GPX.GP_PARAMETER = PIN.PARAM_ID INNER JOIN GUIDELINE_INFO GI ON GI.GUIDE_PARAM = PIN.PARAM_ID AND GUIDE_TIME = Codes.TimeCode INNER JOIN TIME_CODES TC ON TC.TIME_CODE = GI.GUIDE_TIME LEFT OUTER JOIN EVENTS_LOG_TEST EVT ON EVT.EVT_GROUP_ID = G.GROUP_ID AND EVT.EVT_START_DATE >= @START_DATE AND EVT.EVT_END_DATE <= @END_DATE AND EVT.EVT_INTERVAL = Codes.TimeCode AND EVT.EVT_GUIDELINE_UNIT = GI.GUIDE_UNITS AND EVT.EVT_PARAM_ID = GI.GUIDE_PARAM LEFT OUTER JOIN UNIT_CODES UC ON UC.UNIT_CODE = EVT.EVT_GUIDELINE_UNITGROUP BY PIN.PARAM_NAME, G.GROUP_NAME, Codes.TimeCode, GI.GUIDE_PARAM, Codes.CodeName, GUIDE_TIME, EVT.EVT_NUM,EVT_END_DATE, EVT_START_DATE, EVT_END_TIME, EVT_START_TIME, GUIDE_LEVEL, UNIT_ABBREVORDER BY GROUP_NAME, PIN.PARAM_NAME, Codes.TimeCodeEND