执行此查询时,错误结果为:
多部分标识符" table2.column1"无法受约束。
我必须使用INNER JOIN
吗?如果是的话,在哪里?
UPDATE table1
SET table1.column1 = 1
WHERE table1.column2 = 'Example'
AND table2.column1 = (SELECT table2.column1
FROM table2
WHERE table2.column2 = 'anotherExample');
谢谢你,对不起我的英语(我是意大利语)。
答案 0 :(得分:0)
使用内连接,更容易
UPDATE t1
SET t1.column1 = 1
FROM table1 t1
INNER JOIN table2 t2
ON t1.column1 = t2.column1
WHERE t1.column2='Example'
AND t2.column2 = 'anotherExample';
答案 1 :(得分:0)
这是问题所在:
UPDATE table1
SET table1.column1 = 1
WHERE table1.column2 = 'Example' AND
table2.column1= (SELECT table2.column1 FROM table2 WHERE table2.column2 = 'anotherExample');
----------^
我假设你想要来自table1
的东西:
UPDATE table1
SET table1.column1 = 1
WHERE table1.column2 = 'Example' AND
table1.columnX = (SELECT table2.column1
FROM table2
WHERE table2.column2 = 'anotherExample');
您的SQL实际上是标准SQL,应该适用于任何数据库。