Sql server 从两个表中减去总数

Sql server 从两个表中减去总数,sql-server,Sql Server,我有两张存单和取款单 Deposit Table: AccountNumber Amount 1 200 1 400 1 150 Total=750 Withdrawal Table: AccountNumber Amount 1 100 1 300 1 150 Total=550

我有两张存单和取款单

Deposit Table:
AccountNumber  Amount
1               200
1               400
1               150
           Total=750

Withdrawal Table:
AccountNumber  Amount
1               100
1               300
1               150
           Total=550
我需要一个查询,将每个表的总数加起来,并按AccountNumber减去(存款取款)组(750-550)=200,类似于:

TotalBalance Table:
AccountNumber  Amount
1               200
我试过Karamafrooz的答案

选择SUM(d.amount)-SUM(w.amount) 从存款为d内部联接取款为w 在d.AccountNumber=w.AccountNumber上 按d.AccountNumber分组

但我得到了错误的价值观 很抱歉,现在我有第三张桌子叫利润:

Profit Table:
AccountNumber  Amount
1               100
1               200
1               150
           Total=450
我需要总计(存款+利润提取)
我该怎么做?jim31415解决方案在第一种情况下非常有效

这使用子查询来获取每个表中每个帐户的总计。然后,对金额进行合计。请注意,取款金额为负数,sum(-d.amount)

select 
   AccountNumber,
   sum(Amount) as Balance
from (
   select d.AccountNumber as AccountNumber, sum(d.Amount) as Amount from Deposit d group by d.AccountNumber
   union
   select d.AccountNumber, sum(-d.Amount) from Withdrawal d group by d.AccountNumber
) as t
group by AccountNumber

询问代码的问题必须证明对正在解决的问题的最低理解。包括尝试的解决方案,以及它们不起作用的原因。我是sql server新手,但找不到解决方案。你找不到解决方案,或者你什么都不能尝试?@jcolebrand我复制并粘贴了结束原因。我将截短部分,询问为什么它不起作用。@jcolebrand公平地说,Fresh几乎一字不差地复制了接近原因。因此,也许你应该向meta求助,要求更改措辞。