Я выполняю запросы к базе данных Oracle.Одна из моих таблиц содержит временные интервалы для Элементов, и для одного и того же Элемента может быть несколько временных интервалов, поэтому следующий пример верен:
ID ELEMENT_ID BEGIN_DATE END_DATE
--------------------------------------------
1 1 01/01/2007 01/06/2007
2 1 01/06/2007
3 2 01/01/2006 01/07/2006
4 2 01/07/2006 31/12/2006
Временной интервал, для которого END_DATE
не заполнен, означает, чтоон все еще работает (так что это самый последний временной интервал для элемента).
Таким образом, когда я ищу самые последние END_DATE
для каждого элемента, я хочу получить строки # 2 и #4.Итак, проблема, с которой я сталкиваюсь, состоит в том, чтобы рассматривать NULL как самое высокое END_DATE
...
Возможно ли сделать это в одном запросе SQL?
Конечно, я попыталсяпросто:
SELECT MAX(END_DATE) FROM ...
но этого не достаточно из-за значений NULL.
Заранее спасибо.