前提・実現したいこと
Accessのクエリで特定のテーブルからレコード抽出を行おうと考えております。
条件としては、
製品 有効開始日 有効終了日
A 20170101 20180501
A 20180502 99999999
B 20180301 99999999
と言う形で世代管理を有効開始日・終了日で行っているテーブルになります。
※すいません、この構造自体は変更したいのは山々ですが変更できない状態です。
このテーブルから期間の重複レコードの抽出を行いたいです。
製品 有効開始日 有効終了日
A 20170101 20180501
A 20180402 20180507
A 20180508 99999999
B 20180301 99999999
上記の場合、
A 20170101 20180501
A 20180402 20180507
を重複レコードとして判断したいと考えています。
色々試して、
SELECT D1.data_cd ,D1.data_name ,D1.from_date ,D1.to_date FROM test_mast as D1 ,test_mast as D2 WHERE D1.data_cd = D2.data_cd AND( ( D1.from_date > D2.from_date AND D1.to_date < D2.to_date ) OR ( D1.to_date > D2.from_date AND D1.from_date < D2.to_date )) AND ( D1.from_date <> D2.from_date OR D1.to_date <> D2.to_date ) ORDER BY D1.data_cd ,D1.from_date ,D1.to_date
テーブル定義ですが、
data_cd Varchar2(6):製品コード
D1.data_name Varchar2(20):製品名称
D1.from_date Varchar2(8):有効開始日
D1.to_date Varchar2(8):有効終了日
となります。
等試していますがうまく行ってない状態です。
ご助言いただけないでしょうか?

回答2件
あなたの回答
tips
プレビュー