-2
T1: USER_ID OSX
1 Y
2 Y
T2: USER_ID ANDROID
1 Y
3 Y
我想加入的表如下,但我不知道如何
T3: USER_ID ANDROID OSX
1 Y Y
2 null Y
3 Y null
T1: USER_ID OSX
1 Y
2 Y
T2: USER_ID ANDROID
1 Y
3 Y
我想加入的表如下,但我不知道如何
T3: USER_ID ANDROID OSX
1 Y Y
2 null Y
3 Y null
你想要一個full outer join
:
select coalesce(t1.user_id, t2.user_id) as user_id,
t2.android, t1.osx
from t1 full join
t2
on t1.user_id = t2.user_id;
使用full join
,更好地處理空值:
select coalesce(t1.user_id, t2.user_id) as user_id,
coalesce(t2.android,'N/A') as android,
coalesce(t1.osx,'N/A') as osx
from t1
full join t2 on t1.user_id = t2.user_id
* null * is * null *,爲什麼要在數據庫層上設置一個虛擬值'N/A'? – DaniEll