我有两个查询返回两个不同的结果,一个是返回ex#1返回,第二个返回ex#2,我想结合并想要结果。
EX#1
PartyID PartyName TotalMain
1 A 1
2 B 1
EX#2
PartyID PartyName TotalSub
1 A 1
3 C 1
我想要结果
PartyID PartyName TotalMain TotalSub
1 A 1 1
2 B 1 0
3 C 0 1
答案 0 :(得分:1)
;with sample as
(
SELECT
e1.PartyID as partyid
,e1.PartyName as partyname
,e1.totalmain AS TotalMain
,0 AS TotalSub
From table1 e1
UNION ALL
SELECT
e2.PartyID
,e2.PartyName
,0 AS TotalMain
,e2.totalsub AS TotalSub
From table2 e2
)
SELECT
partyid
,MAX(partyname) as partyname
,MAX(totalmain) as totalmain
,MAX(totalsub) as totalsub
from sample
GROUP BY
partyid
答案 1 :(得分:0)
没有看到你的表和当前的sql,我所能建议的是:
Select Coalesce(a.PartyId, b.PartyId) partyId,
Coalesce(a.PartyName, b.PartyName) partyName,
a.TotalMain, b.TotalSub
From ([Put First Query SQL Inside here]) a
Full Join ([Put Second Query SQL Inside here]) b
On a.PartyId = b.PartyId