У меня есть таблица, и я хочу выбрать один столбец, например, если эта запись не найдена (потому что у меня есть объединения с другими таблицами) или существует, но она не равна выбранному значению этого же столбца из следующей строки.Я пытался использовать функции isnull и coalesce, но я не могу получить значение следующей строки.Буду признателен за любую помощь или ссылку.
Вот мой запрос до сих пор
Select
(select top 1 OpenPrice from #tbltempData where Dated=D.Dated) [Open],
ISNULL((select top 1 ClosePrice from #tbltempData where Dated= DATEADD(hour,@Interval-1, D.Dated)),
(select top 1 ClosePrice from #tbltempData where Dated= DATEADD(hour,0, D.Dated))) [Close],
[Min],[Max],Dated
from #tbltempData2 D
Order BY Dated Asc
Открытый столбец имеет нулевые значения.
вот Скриншот моих образцов данных
и здесь вывод получаю
Подробности: поскольку у меня есть записи в моих данных выборки на дату '28 /06/2019 'и время для первой записи - 9 часов утра, и я группирую свои данные за 2 часа, поэтому после группировки моей первой групповой записи с той же датой - 8 часов утра, и поскольку у меня нет значения для этого времени в выборочных данных, поэтому я получаю нулевое значениеценности.чтобы избежать этого сценария, я хочу получить значение OpenPrice, где время равно 9:00 (в выборочных данных) той же даты, потому что время находится в той же группе.