1

我想知道是否无论如何我可以比较 SQL Server 中的两列。

这两列位于两个不同的表中。

当第 1 列的值小于第 2 列的值时:
我想将第 1 列的值替换为第 2 列的值。

4

2 回答 2

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”列,可以轻松匹配。用更合适的方式修改查询。

于 2009-10-30T17:35:07.797 回答
1

你应该能够做这样的事情:

update tablename set column1=column2
from table1 inner join table2 on joincondition
where column1 < column2;

如果没有实际的表结构,很难更具体。

于 2009-10-30T17:34:52.697 回答