如果之前已经问过这个问题,请提前道歉,我试着去搜索它,但我担心我可能会使用错误的术语。
我有一个表交付,交付可以包含多个订单。订单表包含要为该特定订单支付的金额。 我想要的是一个查询,它返回一个交货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不是我的最强点。 > _>
任何人都可以帮助我吗?提前谢谢!
答案 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