MySQL:Update语句中“where子句中的未知列”

时间:2012-04-26 19:00:51

标签: mysql sql sql-update

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'”。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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