2012-01-05 4 views
0

申し訳ありません、oracleを初めて使用しています。Oracle Query TermDates固有の結果

私は戻って、現在、最後のアクティブなレコードを取得したいと思います:TermDateがnullの場合は常に

ID int (PK) 
RecordID int 
Description varchar 
TermDate datetime 

は基本的には、それがアクティブですが、レコードIDオフに基づいて、最後に終了レコードを取得します。したがって、RecordIDは一意ではありませんが、結果に表示されるときに一意になります。

答えて

1

あなたは、現在のすべてのレコードをしたいと仮定すると、プラス各レコードIDの最後のアクティブなレコードは、試してみてください。

select * from 
(select t.*, rank() over (partition by RecordID order by TermDate desc) rn 
from MyTable T) 
where TermDate is NULL or rn = 1 
+0

ありがとうございました! Oracleの考え方はMSSQLと大きく異なるだろう。 – dave2118