【发布时间】:2015-06-06 19:47:19
【问题描述】:
我目前的代码如下
UPDATE product_template
SET
listprice = product_uom.factor * product_template.list_price
FROM product_uom
INNER JOIN product_template ON product_uom.id = product_template.uom_id
INNER JOIN product_product ON product_product.id = product_template.id
WHERE product_product.manufacturer = 2646
据我了解,第 1 行指定了我要更新的表。 然后我指定我想使用 2 个数字列更新 product_template 中名为 list_price 的列。 我指定了第二个表,它有一列具有我需要的数值,以便从将要更新的表中更新我的列。 我指定将要更新的表的内部连接以及包含我需要这样做的信息的表。 我将要更新的表与具有我需要的列的表作为更新发生的条件加入。 最后一行说明了在该行中发生更新必须满足的条件。
事实上,如果我尝试在 postgresql 中运行此代码,我会收到以下错误 错误:多次指定表名“product_template”
我只使用 product_template 来指定要更新哪个 tabkle,然后再使用两次来创建内部连接,在使用来自 2 个不同表的信息时更新此表的正确方法是什么?
【问题讨论】:
标签: database postgresql join sql-update