Oracle Query TermDates Уникальные результаты - PullRequest
0 голосов
/ 05 января 2012

Извините, новичок в оракуле.

Я хочу вернуть текущую и последнюю активную запись:

ID int (PK)
RecordID int
Description varchar
TermDate datetime

Обычно, когда TermDate имеет значение null, он активен, но получает последнюю завершенную запись на основе RecordID. Таким образом, RecordID не уникален, но будет уникальным при отображении в результатах.

1 Ответ

1 голос
/ 05 января 2012

Предполагая, что вам нужны все текущие записи плюс последняя активная запись для каждого RecordID, попробуйте:

select * from
(select t.*, rank() over (partition by RecordID order by TermDate desc) rn
 from MyTable T)
where TermDate is NULL or rn = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...