寻找关于如何对表执行更新的一些建议,但是我的2个WHERE语句来自不同的表。这就是我的想法:
UPDATE table1
SET table1.t1field=('new parameter');
FROM table1
WHERE table1.t1field > ('parameter')
INNER JOIN
table 2
ON table2.t2field = ('my other parameter');
基本上,我想要做的是更新X,其中X = myparameter(来自表1)和myparameter2(来自表2)。
我的语法是否正确?如果我在新参数之后取出分号,我得到一个“SQL命令没有正确结束”错误,但是留下它,我认为它正在尝试更新表中的所有内容!显然我不想要这个,我只想要它更新那个参数,如果它符合2个标准。
感谢您提供任何帮助。
答案 0 :(得分:0)
应该是以下内容:
UPDATE table1
INNER JOIN table2
ON table2.join_field = table1.join_field
SET table1.t1field=('new parameter'), table2.t2field = ('my other parameter')
FROM table1
WHERE table1.t1field > ('parameter');
答案 1 :(得分:0)
使用join进行更新查询的正确语法如下:
UPDATE t1
SET t1.[column]=[value]
FROM table1 t1 INNER JOIN table2 t2 ON [join condition]
WHERE [conditions]