電子書籍の厳選無料作品が豊富!

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

A 回答 (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つ両方とも実行計画を見てみるのも良いかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!