2017-02-23 73 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