- ベストアンサー
複数のデータテーブルのデータをdistinctの抽出したい
VB.NETで、A・B・Cのデータテーブルがあるとします。 3つのデータテーブルに存在する同一のデータを抜き出したいのですが、何かよい方法はありますか?
- みんなの回答 (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つ両方とも実行計画を見てみるのも良いかと。