[英]MySQL multiple table sum
我想列出余額的客戶。 我有3張桌子,
客戶、銷售、付款
客戶表
id name lastname
1 John Doe
2 Example Customer
3 NonBaloance User
銷售表
id customer_id amount
1 1 1500
2 2 300
付款表
id sales_id amount
1 1 500
2 1 700
3 2 200
我需要按余額列出客戶訂單(銷售金額計數 - 付款金額計數)
示例結果
id name lastme balance
1 John Doe 300
2 Example Customer 100
3 NonBalance User 0
可能嗎?
您可以使用相關子查詢來計算余額,如下所示:
select
c.*,
coalesce(
(
select sum(
s.amount
- (select coalesce(sum(p.amount), 0) from payments p where p.sales_id = s.id)
)
from sales s
where s.customer_id = c.id
),
0
) balance
from customer c
id | name | lastname | balance -: | :---------- | :------- | ------: 1 | John | Doe | 300 2 | Example | Customer | 100 3 | NonBaloance | User | 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.