【发布时间】:2015-06-15 06:23:31
【问题描述】:
使用inner join 返回O row updated 更新表1 中的数据时,两个表都在不同的数据库中。我有替代方法来更新它,但我不知道为什么我的 INNER JOIN 查询出错了。
不适用于内部联接
UPDATE DB1.table1
SET t1.column3='value3'
from DB1.table1 t1
INNER JOIN DB2.table2 t2 on t1.column2=t2.column2
WHERE (t1.column1 = 'value1')
AND (t2.column3 = 'value3')
不使用内部联接的工作查询。
UPDATE DB1.table1 SET column3='value3' WHERE (column1 = 'value1')
AND (column3 = 'value3') AND (column2 in (select column2 from DB2.table2
where column3='value3' and column3='value3' and column4='value4'))
DB1..table1
column1 column2 column3 column4
c1 c2 c3a c4
c1 c2 c3a c4
c1 c2 c3b c4
c1 c2 c3b c4
DB2..table2
column1 column2 column3 column4
c1 c2 c3a c4
c1 c2 c3a c4
c1 c2 c3b c4
任何机构都可以提出这个建议吗?
【问题讨论】:
标签: sql sql-server sql-server-2008 sql-update inner-join