基本上我有一个更新语句,它需要更新表的两个字段,但依赖于引用数据库中其他表的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子句的第一个参数上获得了未知的列异常。
我希望这很清楚。任何帮助将不胜感激。
答案 0 :(得分: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