
1つのテーブルから重複したデータを取り除いて表示するときに使う
【select distinct カラム名 from テーブル名;】
がありますよね。
それと同じようなことを複数のテーブルをまたいで行いたいのですがうまくいきません。
ちなみに両方のテーブルのカラム名は同じです。
【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】
としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。
そこで
【select distinct T1.カラム名, T2.カラム名 from テーブル1 T1. テーブル2 T2;】
としてみたのですが、クエリを実行中のまま反応がないので悩んでます。
ちなみに2つのテーブルのデータはそれぞれ2万件ほどです。
こういう時どういうsql文を組むのが正しいのでしょうか?
No.2ベストアンサー
- 回答日時:
>【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】
>としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。
いや、できますね
むしろunionするならdistinctもいらないです。
//データ作成
create table t1(data int);
create table t2(data int);
insert into t1 values(1),(2),(2),(3),(3),(4);
insert into t2 values(1),(3),(3),(5);
//表示
select data from t1 union select data from t2;
//重複も表示するならunion all
select data from t1 union all select data from t2;
No.1
- 回答日時:
実際に試してはいませんが、
select distinct * from (
select カラム名 from テーブル1
union
select カラム名 from テーブル2
)
というのはどうでしょう?
ちなみに、
select distinct T1.カラム名, T2.カラム名 from テーブル1 T1, テーブル2 T2
これをやらかすと、テーブル結合により2万件×2万件=4億件の中からの検索になりますので、
クエリ実行中のまま反応がなくなって当たり前です。
この文では思うように動きませんでした。
>テーブル結合により2万件×2万件=4億件の中からの検索になりますので、
4億件(^_^;)
なるほどこんな事が起こっていたのですね
非常に勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- Oracle SQL update方法 2 2022/06/22 14:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
フォームから入力してテーブル...
-
SQLサーバに対するSQL文で抽出...
-
SQLで、Join句で結合したテ...
-
結合したテーブルをSUMしたい
-
AccessとSQL Serverの連携について
-
既存データをINSERT文にして出...
-
必要なテーブルの個数について。
-
ACCESS クエリーでソートの不具合
-
2つのテーブルをLIKE演算子のよ...
-
テーブルの列名を変更したい
-
ACCESSのVBAにてExcelに行...
-
ACCESS2000でのテー...
-
ExcelのMatch関数のようなもの...
-
テーブル名が可変の場合のクエ...
-
ExcelのVLOOKUP関数の動作をMyS...
-
Excelでしりとりを作る方法
-
AccessVBAでExcelをリンクテー...
-
パススルークエリ&ACCESSテーブ...
-
Access特定のテーブルを編集不...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
同一テーブル内での比較(最新...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
結合したテーブルをSUMしたい
-
テーブル名が可変の場合のクエ...
-
PRIMARY KEYのコピー
-
2つのテーブルをLIKE演算子のよ...
-
ACCESSのVBAにてExcelに行...
-
DB2のSQLコマンドについて
-
Excelでしりとりを作る方法
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
ExcelのVLOOKUP関数の動作をMyS...
-
ADO+ODBCでテーブルに接続する...
-
データ無し時は空白行にしたい...
-
Access特定のテーブルを編集不...
おすすめ情報