這裏是sqlfiddle link
我正在嘗試使用sum()
函數。它的工作只是SELECT
查詢,但它給出錯誤的值,當我嘗試這樣子查詢的UPDATE
query.Here我SELECT
查詢在mysql中GROUP BY sum()函數的更新查詢問題
SELECT
sum(i.pr_pur_cost_price*i.quantity) AS net_amount
FROM
product_purchases AS p
LEFT JOIN
product_purchase_item AS i
ON
p.product_purchase_item_id=i.product_purchase_item_id
WHERE
p.insert_operation=48
GROUP BY
p.insert_operation
這裏我更新查詢
UPDATE
shop_balance AS s
SET
s.shop_balance=(s.shop_balance-(
SELECT
sum(i.pr_pur_cost_price*i.quantity) as net_amount
FROM
product_purchases AS p
LEFT JOIN
product_purchase_item AS i
ON
p.product_purchase_item_id=i.product_purchase_item_id
WHERE
p.insert_operation=48
GROUP BY
p.insert_operation
)
)
where s.shop_balance_id=n;
爲什麼更新詢問這個錯誤的值。 sum()函數中的兩列是否存在問題?或任何最佳解決方案?
你能否展示一些樣本數據和所需的(正確)結果? –
我的第一個SELECT查詢返回一個FLOAT數據類型假設2200.如果我的s.shop_balance是2500.它應該返回300.但它給出錯誤的值 – Imran
'where s.shop_balance_id = n;' - 是「n」是一個有效的shop_balance_id? –