剛剛開始實習並被委任了一些SQL。發現它有點棘手。感謝任何幫助。謝謝!SQL;總和2個字段,然後將它們加在一起
任務:
「這將是可以寫入以下內容的警報顯示時,由於在接下來的一個月未結銷售訂單組合(添加)與開銷售發票誰所有的客戶,他們超過他們的信用額度。「
我的建議邏輯:
首先我想要做的是SUM所有銷售訂單,在未來一個月內,對每一個客戶(SALES表)。
接下來,SUM爲每個客戶打開所有未結髮票,即計算出每個客戶欠的總金額(在INVOICES表中)。
我然後要添加的1和2的結果一起,由相應的customer_id
接着比較從上述3的計算,以查看是否其比每個客戶的信用額度更大。
如果3中的總和超過信用額度,那麼只有這些公司應顯示在生成的表中。對於結果表的理想格式將
Cust_ID|Name|Sum_sales_orders (1.above)|Sum_open_invoices (2.above)| Total_orders&invoices
----------------------------------------------------------------------------
1 | A | 25000 | 333 | 25333
| | | |
我到目前爲止的代碼是
SELECT arc.company, arc.credit_limit,
sum (ard.unit_price * ard.invoice_qty) as open_invoice_total,
sum (od.total_qty_ord * od.unit_price) as open_orders_total
FROM iqms.arprepost_detail ard, iqms.arprepost arp, iqms.arcusto arc, iqms.ord_detail od, iqms.orders o
WHERE ard.arprepost_id = arp.id
and arc.id = o.arcusto_id and o.id = od.orders_id
and arp.arcusto_id = arc.id
GROUP BY arc.company, arc.credit_limit
我認爲這是在和計算正確的總計()函數?還是我錯了?我如何添加open_invoice_total和open_orders_total?然後將它們與credit_limit進行比較?
我希望你們明白我在做什麼。我在這裏先向您的幫助表示感謝! :)
'SELECT arc.company ....... GROUP BY ..... HAVING sum(ard.unit_price * ard.invoice_qty)+ sum(od.total_qty_ord * od.unit_price)> arc.credit_limit' –