--先把表1和表2的solver合并起来,再分别和表1,表2做连接
With T
As
(
Select solver From 表1
union
Select solver From 表2
)
Select T.solver,Isnull(A.amount1,0) As amount1,isnull(B.amount2,0) As amount2 From T
Left Join 表1 A on T.solver=A.solver
Left Join 表2 B on T.solver=B.solver
追问![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/8b13632762d0f703d3c947ab0cfa513d2697c54a?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追答With T
As
(
Select solver From (查询语句1) A
union
Select solver From (查询语句2) B
)
Select T.solver,Isnull(A.amount1,0) As amount1,isnull(B.amount2,0) As amount2 From T
Left Join (查询语句1) A on T.solver=A.solver
Left Join (查询语句2) B on T.solver=B.solver
--你贴个图片也蛮郁闷的,直接把你的语句放进去就可以了,或者先放到临时表,在用刚才的查询,这是MSSQL哦,2005+版本
--以下也可以
Select T.solver,Isnull(A.amount1,0) As amount1,isnull(B.amount2,0) As amount2 From(
Select solver From (查询语句1) A
union
Select solver From (查询语句2) B
) T
Left Join (查询语句1) A on T.solver=A.solver
Left Join (查询语句2) B on T.solver=B.solver