有効期間のあるデータの抽出方法
IDと連番で一意キーに対して発効と失効が定められているレコードの中から有効なレコードを抽出する。
(OTNの過去ログから)
select a.*
from
マスタテーブル a,
(
select id,max(連番) as 連番
from マスタテーブル
where 発効年月日<=sysdate and 失効年月日>sysdate
group by id
) b
where
a.ID=b.ID and
a.連番=b.連番
返信者 タイトル:RE[1]:有効期間のあるデータの抽出方法
hoge 2004-09-06 14:46
--------------------------------------------------------------------------------
分析関数を使用しない場合は以下のようになるかと思います。
select ID,連番,名称,発効年月日,失効年月日
from マスターテーブル a
where 連番 = (select max(連番)
from マスターテーブル b
where a.ID = B.ID and 発効年月日 <= trunc(sysdate) and 失効年月日 >= trunc(sysdate))
order by ID,連番;
2009年09月24日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/32363171
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/32363171
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック