制作一列子表的总和

时间:2016-06-23 08:39:35

标签: mysql

如果之前已经问过这个问题,请提前道歉,我试着去搜索它,但我担心我可能会使用错误的术语。

我有一个表交付,交付可以包含多个订单。订单表包含要为该特定订单支付的金额。 我想要的是一个查询,它返回一个交货ID列表以及在某一天所有交货链接到该交货的所有订单的总金额。

我有查询来获取特定日期的所有交货ID:

SELECT id FROM delivery WHERE delivered_on BETWEEN '2016-6-10 00:00:00' AND '2016-6-10 23:59:59';

我有查询来获取链接到特定ID的所有订单的总和:

SELECT SUM(amount) FROM order WHERE deliveries_id = 7144;

我无法弄清楚的是,为特定日期发生的所有交付返回[delivery_id,sum_order_amounts]列表所需的查询,SQL不是我的最强点。 > _>

任何人都可以帮助我吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

你想要这个吗?

SELECT d.id AS delivery_id, SUM(o.amount) AS sum_order_amounts
FROM delivery d
LEFT JOIN `order` o
ON d.id = o.deliveries_id
WHERE d.delivered_on BETWEEN '2016-6-10 00:00:00' AND '2016-6-10 23:59:59'
GROUP BY d.id

答案 1 :(得分:0)

是这个。

SELECT d.id, SUM(amount)
FROM delivery d
INNER JOIN order o
ON d.id = o.deliveries_id
WHERE delivered_on BETWEEN '2016-6-10 00:00:00' AND '2016-6-10 23:59:59';
group by d.id