こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2006-02-01 15:33:42

QNo.1936385

すぐに回答ほしいです

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

 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つ両方とも実行計画を見てみるのも良いかと。

投稿日時 - 2006-02-01 23:09:50

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問