显示来自 table1 和其他来自 table 1 的匹配 ID 数据
Show matching id data from table1 and others from table 1
我有这些 table:
table1
(id, name, referenceid, salary, taxamount)
table2
(id, name, referenceid, salary,taxamount)
如果来自 table2 的引用 ID 存在于 table1
中,我想显示来自 table2 的数据
table1
id name referenceid salary taxamount
-------------------------------------------
1 abs1 12 80k 1k
2 abs2 18 90k 2k
table2
id name referenceid salary taxamount
-------------------------------------------
1 abs3 12 90k 2k
2 abs4 13 90k 3k
3 abs5 14 90k 4k
如果参考 ID 在 table 中匹配 1 然后显示来自 table 的薪水和姓名 1 否则显示来自 table1
的所有数据
期望的输出:
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
但显示不匹配的数据为空;我想要来自 table 1 的两列数据和来自 table 2 的其他数据。基本上我们使用 table 1 作为更新的 table 如果数据已更新,那么我们存储引用 ID在 table 1
看来你只需要使用 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;
我有这些 table:
table1
(id, name, referenceid, salary, taxamount)table2
(id, name, referenceid, salary,taxamount)
如果来自 table2 的引用 ID 存在于 table1
中,我想显示来自 table2 的数据table1
id name referenceid salary taxamount
-------------------------------------------
1 abs1 12 80k 1k
2 abs2 18 90k 2k
table2
id name referenceid salary taxamount
-------------------------------------------
1 abs3 12 90k 2k
2 abs4 13 90k 3k
3 abs5 14 90k 4k
如果参考 ID 在 table 中匹配 1 然后显示来自 table 的薪水和姓名 1 否则显示来自 table1
的所有数据期望的输出:
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
但显示不匹配的数据为空;我想要来自 table 1 的两列数据和来自 table 2 的其他数据。基本上我们使用 table 1 作为更新的 table 如果数据已更新,那么我们存储引用 ID在 table 1
看来你只需要使用 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;