【发布时间】:2015-08-24 05:00:36
【问题描述】:
所以我有表cont_sales
---------------------------------
cont_selling_id | date |
---------------------------------
1 | 2015-05-24 |
2 | 2015-06-06 |
---------------------------------
表 02 cont_sold
----------------------------------------------------
cont_sold_id | cont_selling_id | price |
---------------------------------------------------
1 | 1 | 10 |
2 | 1 | 10 |
3 | 1 | 30 |
4 | 2 | 20 |
5 | 2 | 10 |
--------------------------------------------------
和表03付款
----------------------------------------------
payment_id | cont_selling_id | paid |
-----------------------------------------------
1 | 1 | 10 |
2 | 2 | 10 |
3 | 1 | 20 |
4 | 1 | 10 |
5 | 2 | 10 |
-----------------------------------------------
现在我需要基于 SELECT 表
现在我想根据 cont_sales 表 cont_sales_id 列合并所有这三个表
并且想求和 cont_sold 表价格列和支付表支付列
这就是我想做的事
期待输出
---------------------------------------------
cont_selling_id | price | paid |
---------------------------------------------
1 | 50 | 40 |
2 | 30 | 20 |
---------------------------------------------
所以我在 mysql 查询中尝试了这样的方法,但它给出了错误的总和结果
SELECT
SUM(Z.price) as total,
SUM(P.amount) as paid
FROM cont_selling S
LEFT JOIN cont_sold Z
ON S.cont_selling_id = Z.cont_selling_id
LEFT JOIN payment P
ON S.cont_selling_id = P.cont_selling_id
GROUP BY S.cont_selling_id
对于上面的查询,我得到这样的输出
---------------------------------------------
cont_selling_id | price | paid |
---------------------------------------------
1 | 150 | 40 |
2 | 60 | 120 |
---------------------------------------------
【问题讨论】:
-
你能显示你得到的结果吗?
-
@Jens 我已经用这个问题添加了我的输出。请检查一下,谢谢
标签: mysql