-1

基本上我有一个更新语句,它需要更新一个表的两个字段,但取决于它的 where 子句,该子句引用数据库中的其他表。

例如。

UPDATE TABLE_ONE 
SET VALUE_ONE=1,VALUE_TWO=2 
WHERE TABLE_TWO.ID = 1818 AND TABLE_TWO.POSITION = TABLE_THREE.ID AND TABLE_ONE = TABLE_THREE.VALUE = TABLE_ONE.ID;

我的问题是如何成功地做到这一点。目前我在 where 子句的第一个参数上得到了未知的列异常。

我希望这很清楚。任何帮助将不胜感激。

4

1 回答 1

1

如果不查看所有表的表架构,很难判断,但您可以尝试像这样重写更新

UPDATE table_one t1 JOIN table_three t3
    ON t1.id = t3.value JOIN table_two t2
    ON t3.id = t2.position
   SET t1.value_one = 1, value_two = 2 
 WHERE t2.id = 1818 
于 2013-08-25T08:30:51.493 回答