3


0

次の表t1とt2があるとします。

t1:id | column_1 ------------- 1 | 1 2 | 2

t2:id | column_2 ------------- 2 | 2 3 | 3

そして、我々は以下の結果を見つけたいと思います:

id | column_1 | column_2 ------------------------ 1 | 1 | 2 | 2 | 2 3 | | 3

これは基本的に、右結合と左結合の結合です。 次のコードは機能しますが、不器用です。

(SELECT t1.id、t1.column_1、t2.column_2 from t1左のt2からt1.id = t2.id)UNION(SELECT t2.id、t1.column_1、t2.column_2 from t1右の結合t2からt1.id = t2.id)

これを達成するためのより良い方法はありますか?

3 Answer


7


a.idの左側の外部結合t1からt1の左側の結合を選択する(t1の組合からIDを選択する)からa.id、t1.column_1、t2.column_2を選択します。


1


これを試してください。

t1完全外部結合t2からt1.id、t1.column_1、t2.column_2を選択します(t1.id = t2.id)

*編集:*動作しません、MySQLはFULL OUTER JOINを知りません。 ここで見てみましょう:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/


0


自分で試したことはありませんが、これでうまくいく可能性があります。

t1左からt2にt2を選択t1.id = t2.id t2.onにt1.id = t2a.idとしてt2.column_2、t2a.column_2を選択