2017-02-23 71 views
0

我有像下面的图片中的第一个结果的SQL结果,但我想修改它以按照客户的价格总结,如图中第二部分所示。付款ID和价格在一张表中,顾客在第二个表中。TSQL如何做子计算

这是第一个成果SQL:

select 
    p.payment_id, p.price, c.customer 
from 
    payments p 
left join 
    customers c on p.payment_id = c.payment_id 

输出:

enter image description here

回答

3
SELECT SUM (p.price) price, c.customer 
    FROM payments p LEFT JOIN customers c on p.payment_id = c.payment_id 
GROUP BY c.customer 
+0

此分组按客户进行分组,但未达到所需的总和。它仍然列出所有付款ID,而不是将其降至两笔记录,并以总价计算。 –

+0

结束需要做另一个子查询和总结工作。 –

1
select sum(p.price) as price, c.customer 
from payments p 
left join customers c 
on p.payment_id = c.payment_id 
group by c.customer 
order by c.customer 
1

使用GROUP BY条款& SUM()聚合函数

select SUM(p.price) AS price, c.customer 
from payments p 
left join customers c 
    on p.payment_id = c.payment_id 
group by c.customer