アプリ版:「スタンプのみでお礼する」機能のリリースについて

同じフィールド名[名前]を持つテーブルが複数個あります。
仮にテーブル名を、A、B、C、Dの4個だとします。


それらのテーブルから、フィールド名[名前]のデータを重複なしで取得したいのですが、SQL文が思いつきません。
取得するフィールドは[名前]だけです。

select distinct(名前) from A
union
select distinct(名前) from B
union
select distinct(名前) from C
union
select distinct(名前) from D

だと、各表に同じ名前が存在する場合は結果も重複してしまい、期待する結果が得られませんでした。

環境はOracle 9iです。
SQL文を教えてください。よろしくお願いします。

A 回答 (2件)

select 名前 from A


union
select 名前 from B
union
select 名前 from C
union
select 名前 from D

で重複が削除されないなら8iのバグです。
11g R2ではユニークな値が抽出されます。
    • good
    • 0

select distinct(名前) from (


select 名前 from A
union
select 名前 from B
union
select 名前 from C
union
select 名前 from D );

――かな。
    • good
    • 4

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す