2017-05-01 10 views
1

に別々のソースとして、私は乗算でフィールドを更新しようとしましたが、それはこれが私のクエリ#1093 - 表が「UPDATE」の対象としても、2回指定してデータ

でエラー #1093 - Table is specified twice, both as a target for 'UPDATE' and as a separate source for data

を示しています

UPDATE `order_details` SET `price` = 
(SELECT (od.quantity * p.pricePerUnit) 
FROM order_details od join products p ON od.id_product = p.id_product 
WHERE dp.id_product = p.id_product) 

解決策はありますか?

+0

は問題が解決しましたか? –

答えて

1

あなたはMySQLでこれを行うことはできません。最適なアプローチは、JOINです。

UPDATE order_details od JOIN 
     products p 
     ON od.id_product = p.id_product 
    SET price = od.quantity * p.pricePerUnit; 
+0

ありがとうございます、それは動作します – madiluzi

+1

@MuhammadIlhamFauziこれはあなたの問題を解決した場合これと一致するとマークします。 –

関連する問題