Try this:(I create tmp tables and fill them w/ data to simulate your dataset. At the end is your query.)Declare @tblRawData Table ( ID int identity(1,1), StartDate date, StopDate date, StartTime time, StopTime time, RawData varchar(6000))Declare @tblCalculatedData Table( ID int identity(1,1), SampledDate datetime, CalculatedData varchar(100))Declare @cnt intDeclare @Date datetimeSet @cnt = 1Set @Date = '01/01/2009'While @cnt <= 100 Begin If @cnt % 5 = 1 Begin Insert Into @tblRawData Select CAST(@Date as date), DateAdd(d, 5, CAST(@Date as date)), CAST(@Date as time), DateAdd(MINUTE, 10, CAST(@Date as time)), REPLICATE('test', @cnt) End Insert Into @tblCalculatedData Select DateAdd(hh, 5, @Date), 'test' + CAST(@cnt as varchar) Set @Date = DateAdd(d, 1, CAST(@Date as date)) Set @cnt = @cnt + 1End----------------------------------------------------------------------------------------------------------Select *From @tblRawDataInner Join @tblCalculatedData On SampledDate Between Cast(Left(Cast(StartDate as varchar) + ' ' + Cast(StartTime as varchar), 23) as datetime) And Cast(Left(Cast(StopDate as varchar) + ' ' + Cast(StopTime as varchar), 23) as datetime)