2012-04-26 12 views
2
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'列が不明です。更新ステートメント中のMySQL: "不明な列where句"

アイデア?

+0

@Adams:答えが必要です –

答えて

1

内部派生クエリは外部クエリの列について何も知らない。 WHERE t.rID = RE.rIDのようなものでWHEREをUPDATE節に移動してみてください。

+0

魅力的なように働いています。ありがとう! –

関連する問題