- ベストアンサー
構造が異なる二つのテーブルをunionで結ぶには?
構造が異なる二つのテーブルをUNION(問い合わせの結合)したいのですが, 対応しないカラムの分だけ "length('') as user_id"などとして ダミーカラムを作り,無理やり結合する方法を取っています. もっとスマートに UNIONする方法はないのでしょうか?
- みんなの回答 (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; でいいのかな?
その他の回答 (1)
- mickymac
- ベストアンサー率37% (90/240)
回答No.1
必要なカラムの分だけ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でソートをかけたいというのイメージです.
補足
'' AS a2 で良かったんですね. これで,ちょっとスマートなクエリになりました. ありがとうございました.