• ベストアンサー

複数のデータテーブルのデータをdistinctの抽出したい

VB.NETで、A・B・Cのデータテーブルがあるとします。 3つのデータテーブルに存在する同一のデータを抜き出したいのですが、何かよい方法はありますか?

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 VB.NETじゃなくてSQLの話でしょうか? それともDataSetの話でしょうか。  SQL文であれば・・・・UNION ALLを使うとどうなりますかね。例えばDBMSがSQL Server 2000で、A.IDとB.IDとC.IDが全部int型(同じであれば何型でも良いけど)とすると、 select distinct ID from A union all select ID from B union select ID from C これだとDBMSによって結果が変わりそうなので、ひょっとしたら次(DISTICT+サブクエリ)の方が良いのかも知れません。 select distinct * from (  select ID from A  union all  select ID from B  union  select ID from C )  まぁこれにしても結局はDBMS依存ですが。この2つ両方とも実行計画を見てみるのも良いかと。

関連するQ&A