1
我正在嘗試使用另一個表中的sum語句的結果更新單個表上的字段。爲了得到結果,我必須將兩個表格結合在一起,並在這兩個表格之一中總結一個數量字段。然後我需要將總和的數量設置爲第三個表格中的一個字段。我已經四處尋找解決方案,並找到了一些答案,但他們不是超級詳細的答案,我一直無法爲我的情況。通過MySQL聚合查詢執行更新
我覺得我相當接近解決方案,但我目前的MySQL查詢無法運行。它告訴我「每個派生表都必須有自己的別名」。這是我的代碼:
UPDATE `t inventory` i INNER JOIN
(SELECT Sum(p.Qty) AS SumOfQty, p.Category AS Category, p.StockNu AS StockNu
FROM `t purchorderitems` p INNER JOIN `t jobenv` j ON p.`Order Nu` = j.`Auto Number`)
WHERE ((p.PickedUp) Is Null AND (j.`Date In`) Is Null AND (p.StockItem)='Yes' AND p.Return=0 AND p.TradeIn=0 AND ((`Locked`) Is Null Or `TransType`='LW'))
Group By p.Category, p.StockNu) x ON (x.StockNu = i.STOCKNO) AND (x.Category = i.ABR)
SET i.NumHld = x.`SumOfQty`;
的命名約定,如這將在相當不久的將來,開車送你完全瘋了。 – Strawberry
我明白你的問題與我的命名約定。不幸的是,我正在使用的表是很久以前由其他人開發的,並且在使用這些表時正在很難更改表字段的名稱。我正在慢慢地將我的表字段名稱遷移到不那麼令人困惑和更易於編程的頁面名稱,但這是一個緩慢且涉及的過程。 –