我想从表(Table1)中的列(Column1)更新选择的行,其值为我选择的(即不是来自另一个表的值) .
-
行选择基于另一个表(表2)中非共享列(Column3)中的条件 .
-
Table1和另一个表(Table2)共享一列(Column2) .
-
Column1中的某些行当前包含空值 .
我创建了一个SELECT语句来提取正确的行,如下所示:
SELECT Table1.Column1, Table2.Column2
FROM Table1
RIGHT JOIN Table2 ON Table1.Column2 = Table2.Column2
WHERE Table2.Column3 = 'Condition'
但是,由于我对SQL很新,我不确定如何将其转换为UPDATE语句,将Column1更新为我选择的值 .
会这样的吗?
UPDATE Table1
SET Table1.Column1 = 'Value'
FROM Table1
RIGHT JOIN Table2 ON Table1.Column2 = Table2.Column2
WHERE Table2.Column3 = 'Condition'
非常感谢 .
2 回答
简单的内部联接更新查询应该工作 . 我不明白你为什么要使用
RIGHT JOIN
试试这个查询:
正如Vidmantas指出的那样,
INNER JOIN
更适合你的情况,你不需要RIGHT JOIN