select
SUM (cp.TotalAmount) as totalPaymentamount,
lvl4.SubSubsidaryAccountName as account1
from
TBLCPVMaster cp,TBLLevel4 lvl4
where
cp.SubSubsidaryAccountId = lvl4.SubSubsidaryAccountCode
group by
lvl4.SubSubsidaryAccountName
select
SUM (cr.TotalAmount) as totalReciveamount,
lvl4_2.SubSubsidaryAccountName as account2
from
TBLCRVMaster cr, TBLLevel4 lvl4_2
where
cr.SubSubsidaryAccountId = lvl4_2.SubSubsidaryAccountCode
group by
lvl4_2.SubSubsidaryAccountName
结果表应该有4列......请帮助
提前致谢
答案 0 :(得分:2)
你真的应该开始使用ANSI-92的连接语法。已经25年了。
with Payments as
(
select SUM (cp.TotalAmount) as totalPaymentamount
, lvl4.SubSubsidaryAccountName as account1
from TBLCPVMaster cp
join TBLLevel4 lvl4 on cp.SubSubsidaryAccountId = lvl4.SubSubsidaryAccountCode
group by lvl4.SubSubsidaryAccountName
)
, Receipts as
(
select SUM (cr.TotalAmount) as totalReciveamount
, lvl4_2.SubSubsidaryAccountName as account2
from TBLCRVMaster cr
join TBLLevel4 lvl4_2 on cr.SubSubsidaryAccountId = lvl4_2.SubSubsidaryAccountCode
group by lvl4_2.SubSubsidaryAccountName
)
select p.totalPaymentAmount
, p.account1
, r.totalReciveAmount
, r.account2
from Payments p
cross join Receipts r
答案 1 :(得分:0)
我只是简单地理解我认为你想要实现的目标......获得每个帐户的总收入和总收入。
select
lvl4.SubSubsidaryAccountName, -- surely you only need name once?
SUM (cp.TotalAmount) as totalPaymentamount,
SUM (cr.TotalAmount) as totalReciveamount
from
TBLLevel4 lvl4
left join TBLCPVMaster cp
on cp.SubSubsidaryAccountId=lvl4.SubSubsidaryAccountCode
left join TBLCRVMaster cr
on cr.SubSubsidaryAccountId=lvl4_2.SubSubsidaryAccountCode
group by lvl4.SubSubsidaryAccountName