プロが教えるわが家の防犯対策術!

構造が異なる二つのテーブルをUNION(問い合わせの結合)したいのですが,
対応しないカラムの分だけ
"length('') as user_id"などとして ダミーカラムを作り,無理やり結合する方法を取っています.

もっとスマートに UNIONする方法はないのでしょうか?

A 回答 (2件)

cとfとが関係ないのであれば、


(SELECT b AS a1 , c AS a2, '' AS a3 FROM A ORDER BY a1)
UNION
(SELECT b AS a1, '' AS a2, f AS a3 FROM B ORDER BY a1)
ORDER BY a1;
でいいのかな?

この回答への補足

'' AS a2 で良かったんですね.
これで,ちょっとスマートなクエリになりました.

ありがとうございました.

補足日時:2006/10/24 11:29
    • good
    • 0

必要なカラムの分だけSELECTしたものを結合するのは


だめなんでしょうか?
SELECT a1, a2 FROM A WHERE a3 = 'hoge'
UNION
SELECT b1 AS a1, b2 AS a2 FROM B WHERE b3 = 'hoge'

この回答への補足

それが,お互いに持っていないカラムがありまして.
A tableには a, b, c, d
B tableには b, d, e, f
この場合に
b, c, fのカラムを取り,bでソートをかけたいというのイメージです.

補足日時:2006/10/24 10:22
    • good
    • 0

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

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

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