2016-06-23 63 views
0

如果之前詢問過這個問題,我會提前道歉,我試過了,但是恐怕我可能會使用錯誤的術語。製作一列子表的總和

我有一個表交付和交付可以包含幾個訂單。訂單表包含該特定訂單要支付的金額。 我想要的是一個查詢,它返回一個交貨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

SELECT ID,SUM(量)作爲AsPerGroupingByCoumn FROM輸送WHERE delivered_on BETWEEN '2016年6月10日00:00:00' AND '2016年6月10日23時59分59秒' GROUP BY ID; –

回答

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 
+0

這就是我正在尋找的,謝謝! :-) – Feanor

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 
+0

準確地說,我在找什麼,10086只是快了一點。無論如何感謝您的麻煩! :) – Feanor