我想知道无论如何我都可以比较SQL Server中的两列。
这两列位于两个不同的表中。
当列1的值小于列2的值时:
我想将第1列的值替换为第2列的值。
答案 0 :(得分:3)
update table1 t1
set t1.col1 = (select t2.col2
from table2 t2
where t2.id = t1.id
and t1.col1 < t1.col2)
这样的事情应该很容易做到。
我看到的唯一棘手的问题是将table2中的行与table1中的行匹配。在我的例子中,我认为两个表共享一个唯一的“id”列,可以轻松匹配。使用更合适的内容修改查询。
答案 1 :(得分:1)
你应该可以这样做:
update tablename set column1=column2
from table1 inner join table2 on joincondition
where column1 < column2;
如果没有实际的表格结构,那就很难了。