• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同一データの抽出の方法について)

同一データの抽出方法について

このQ&Aのポイント
  • T1のレコードで同一の値を持つレコードを抽出する方法について教えてください。
  • T2とT3の各サブテーブルの値の集合が一致するものを基準に、T1から同一の値を持つレコードを抽出します。
  • Oracle 10を使用しており、PL/SQLでも構いません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

T3.VALUEが、vv11になっているのが、理解できないんですが.. 文面からするとこんな感じなのかな.. select * from t1 where key in (select key from t1 minus select key from (select key from (select * from t2 minus select * from t3) union select key from (select * from t3 minus select * from t2))) とか select t1.* from t1, (select t2.*,row_number() over(partition by key order by value) R from t2) t2 (select t3.*,row_number() over(partition by key order by value) R from t3) t3 where t1.key=t2.key and t1.key=t3.key and t2.value=t3.value and t2.R=t3.R どちらも同じ結果になるかと思います。

その他の回答 (1)

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

手許に8iしかないのでANSI JOINは使っていませんが、 こんな感じでできると思います。 select * from T1 where key in ( select T2.key from (select key,count(*) as cnt from T2 group by key) T2 ,(select key,count(*) as cnt from T3 group by key) T3 where T2.key = T3.key and T2.cnt = T3.cnt );

関連するQ&A