這裏是我的表:有沒有辦法在MySQL中求和兩列的乘積?
-- receipts
| id | date |
|----|------------|
| 1 | 2016-12-20 |
| 2 | 2016-12-20 |
| 3 | 2016-12-21 |
-- purchases
| id | receipt_id | item | price | tax_rate |
|----|------------|-------------|-------|----------|
| 1 | 1 | apples | 3.89 | 0.000 |
| 2 | 1 | canned soup | 2.99 | 0.095 |
| 3 | 1 | candy bar | 0.99 | 0.095 |
| 4 | 2 | gas | 26.78 | 0.000 |
| 5 | 3 | chips | 3.99 | 0.095 |
| 6 | 3 | dip | 2.99 | 0.095 |
我試圖做到這一點與小計,稅金總額,以及總計返回從收益表中的3項的查詢。這是我到目前爲止對SQL所具有的。
SELECT
receipts.id,
receipts.date,
SUM(purchases.price) AS subtotal,
SUM(purchases.price * purchases.tax_rate) AS tax,
SUM(subtotal + tax_rate)
FROM receipts
RIGHT JOIN purchases ON purchases.receipt_id = receipts.id;
最終的結果應該是這樣的:
| id | date | subtotal | tax | total |
|----|------------|----------|------|-------|
| 1 | 2016-12-20 | 7.87 | 0.38 | 8.25 |
| 2 | 2016-12-20 | 26.78 | 0.00 | 26.78 |
| 3 | 2016-12-21 | 6.98 | 0.66 | 7.64 |
你有什麼問題? – shmosel
'SUM(小計+稅)'給我和錯誤,說'未知列'小計'在'字段列表'如果我刪除那一個我得到我沒有得到任何錯誤,但它只是返回第一行並將整個列彙總到該行中。 – MakPo
您不能在同一查詢中引用字段別名。您需要將其放入子查詢中,或重複計算該別名。 – Barmar