我有這些表:
table1(id, name, refernceid, 薪水, taxamount)table2(id、name、referenceid、salary、taxamount)
如果表 2 中的參考 ID 存在于表 1 中,我想顯示表 2 中的資料
表格1
id name referenceid salary taxamount
-------------------------------------------
1 abs1 12 80k 1k
2 abs2 18 90k 2k
表2
id name referenceid salary taxamount
-------------------------------------------
1 abs3 12 90k 2k
2 abs4 13 90k 3k
3 abs5 14 90k 4k
如果表 1 中的參考 id 匹配,則顯示表 1 中的薪水和姓名,否則顯示表 1 中的所有資料
期望的輸出:
id name referenceid salary taxamount
--------------------------------------------
1 abs1 12 80k 2k
2 abs4 13 90k 3k
3 abs5 14 90k 4k
我努力了:
select *
from table1 t1
left join table2 t2 on t1.referenceid = t2.referenceid
但它顯示不匹配的資料為空;我想要表 1 中的兩列資料和表 2 中的其他資料。基本上,如果資料更新,我們將表 1 用作更新表,然后我們將參考 ID 存盤在表 1 中
uj5u.com熱心網友回復:
看起來您只需要使用isnull:
select t2.id,
isnull(t1.name, t2.name) name,
t2.referenceid,
isnull(t1.salary, t2.salary) salary
from table2 t2
left join table1 t1 on t1.referenceid = t2.referenceid;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/482485.html
上一篇:dict中的python選擇鍵
