交换两个 SQL Server 表中的列

发布于 2024-08-09 06:37:29 字数 109 浏览 7 评论 0原文

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

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

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

I would like to know if there is anyway I can compare two columns in SQL Server.

The two columns are located in two different tables.

When the column 1's value is smaller than the column 2's value:
I want to replace the value of the column 1 with the value of the column 2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半仙 2024-08-16 06:37:29
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”列,可以轻松匹配。使用更合适的内容修改查询。

update table1 t1
set    t1.col1 = (select t2.col2
                  from   table2 t2
                  where  t2.id = t1.id
                  and    t1.col1 < t1.col2)

Something like that should do it easily.

The only tricky point I see is matching the row from table2 to the row from table1. In my example, I supposed both tables share an unique "id" column which enables easy matching. Modify the query with something more appropriate.

删除→记忆 2024-08-16 06:37:29

您应该能够执行以下操作:

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

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

You should be able to do something like this:

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

Hard to be more spesific without the actual table structure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文