我想創建一個查詢,在需要SUM函數和一個組的子查詢中進行計算。我的查詢返回錯誤「子查詢返回多於一行」。本質上,我試圖爲每個訂單返回「到期」金額。如果訂單總額大於付款表中total_collected(對於該order_id)的總和,則會有應付金額。以下是查詢:Mysql子選擇SUM()和組
SELECT o.order_id
, o.server
, o.subtotal
, o.discount
, o.tax, o.total
, (SELECT (o.total - SUM(p.total_collected))
from orders o
join payments p
on o.order_id = p.order_id
group by p.order_id) as 'Due'
FROM orders o
join payments p
on o.order_id = p.order_id
WHERE...;
我不能在子選擇中包含'p.order_id',因爲它應該只包含一列。我明白爲什麼我得到錯誤,我只是不知道如何讓sub select只按每個order_id執行SUM。
你可以包括你的期望的輸出? –
請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry