UPDATE Recipes RE, (
    SELECT SUM((((i.iCaseCost/i.iCaseQty)/i.iUnitSize)/i.iUnitSoldBy)*ri.riQty*ri.riMeasureBy) AS     'RecipeCost'
      FROM Recipes r INNER JOIN RecipeIngredients ri
        ON r.rID = ri.rID JOIN Ingredients i
        ON ri.iID = i.iID
        WHERE ri.rID = RE.rID
    ) t
    SET RE.rYieldCost = t.RecipeCost

执行时,出现以下错误:“where子句中的未知列'RE.rID'”。
有什么想法吗?

最佳答案

内部派生查询对外部查询中的列一无所知。尝试使用类似WHERE t.rID = RE.rID的方法将WHERE移到UPDATE子句中。

关于mysql - MySQL:Update语句中的“where子句中的未知列”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10339699/

10-11 05:27