0
Мне нужно найти отсутствующий час в моем столе, для частоты = 1 Мне нужно найти запись в час, если это не так, я должен отобразить отсутствующий час. вот мой кодОшибка отсутствия часа с функцией Lag analytique
declare @StartDate datetime declare @EndDate datetime declare @now datetime set @now = getdate() set @StartDate = dateadd(day,-30,@now) set @EndDate = dateadd(day,-2,@now) Select Flow.Id,Flow.ComponentId, Frequency.Name frequencyName, Flow.MeasurementDate as MeasurementDate, LAG(MeasurementDate) OVER (ORDER BY MeasurementDate) LagValue, abs( DATEDIFF (hour, MeasurementDate, LAG(MeasurementDate) OVER (ORDER BY MeasurementDate))) DifferenceDate , (CASE WHEN DATEDIFF (hour, MeasurementDate, LAG(MeasurementDate) OVER (ORDER BY MeasurementDate)) > '1' THEN 'Yes' ELSE 'No' END) AS Gap into #tab1 FROM Data.dbo.Flow inner join Data.dbo.Component on flow.ComponentId = Component.Id inner join Data.dbo.Frequency on Flow.Frequency = Frequency.Id Where flow.LoaderCode='TOT' and Flow.Frequency='1' and ScheduledVolume IS NOT NULL and MeasurementDate between @StartDate and @EndDate --and DATEDIFF (hour, MeasurementDate, LAG(MeasurementDate) OVER (ORDER BY MeasurementDate)) >1 Group By Frequency.Name, Flow.MeasurementDate, Flow.ComponentId select * from #tab1
Является ли это на самом деле, как вы представляете свой код? – SubqueryCrunch
Я не могу представить свой код лучше, он генерирует сообщение об ошибке для форматирования моего кода ... @SubqueryCrunch – BKChedlia