Justin Mathieu
Justin Mathieu

Reputation: 471

MySQL: "Unknown column in where clause" during Update Statement

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

When executed, I get the following error: "Unknown column 'RE.rID' in 'where clause'".

Any ideas?

Upvotes: 2

Views: 1803

Answers (1)

Marcus Adams
Marcus Adams

Reputation: 53870

Your inner derived query doesn't know anything about columns in the outer query. Try moving the WHERE into the UPDATE clause with something like WHERE t.rID = RE.rID.

Upvotes: 1

Related Questions