一个结果中来自不同表的不同列的SQL求和

  • 本文关键字:求和 SQL 一个 结果 sql sum
  • 更新时间 :
  • 英文 :


我想要SQL的一个结果,它显示两个不同表中两个不同列的SUM,并且是一个额外的客户名称表。

表1客户ID,客户名称

表2客户ID,Amount_Debt,Amount_Debt_aid

表3客户ID,Amount_Open_Orders

因此,我想要一个具有以下列的表

客户ID,客户名称,合计AmountDebt=表2 SUM(Amount_Debt-Amount_Det_paid(,TotalAmountOpenOrders=表3 SUM(Amount_Open_Orders(,

我已经尝试了几个小时的不同查询,但没有得到正确的结果,我希望有人能为我找到解决方案,我认为这很简单,但我缺少了一些东西。

问候,

比约恩

聚合前的总和:

select c.*, t2.*, t3.*
from customers c left join
(select t2.customer_id, sum(t2.amount_debt) as amount_debt,
sum(t2.amount_debt_paid) as amount_debt_paid
from table2 t2
group by t2.customer_id
) t2
on c.customer_id = t2.customer_id left join
(select t3.customer_id, sum(t3.Amount_Open_Orders) as Amount_Open_Orders
from table3 t3
group by t3.customer_id
) t3 
on c.customer_id = t3.customer_id;

我填写了建议的代码,现在我得到了一个错误

消息102,级别15,状态1,第7行"."附近的语法不正确。消息102,级别15,状态1,第12行"dbo"附近的语法不正确。

代码:

enter code here
SELECT        dbo.FI101CUSTOMER.*, dbo.FI101DEPT.*, dbo.HB101ORDER.*
FROM            dbo.FI101CUSTOMER left JOIN 
(select dbo.FI101DEPT.CUST_ID, SUM(dbo.FI101DEPT.BETRAG -            
dbo.FI101DEPT.BETRAGZAHLUNG) as Value1
from dbo.FI101DEPT
group by dbo.FI101DEPT.CUST_ID
) dbo.FI101DEPT
ON dbo.FI101CUSTOMER.CUST_ID = dbo.FI101DEPT.CUST_ID left join
(select HB101ORDER.CUST_ID, SUM(HB101ORDER.bruttovkwert) as    Value2 
from HB101ORDER
group by dbo.HB101ORDER.CUST_ID
) dbo.HB101ORDER
ON dbo.FI101CUSTOMER.CUST_ID = dbo.HB101ORDER.CUST_ID;

最新更新