如何用另一个表中的另一列替换一列数据?

Posted

技术标签:

【中文标题】如何用另一个表中的另一列替换一列数据?【英文标题】:how to replace a column of data with another column from another table? 【发布时间】:2013-05-31 17:27:29 【问题描述】:

我有两个表,tbl1(col1, col2, col3), tbl2(col1)。我需要将 tbl1.col1 的数据替换为 tbl2.col1 中的数据。我的问题是没有共同的领域来加入这两个表。是否可以编写查询来进行更新?

【问题讨论】:

【参考方案1】:

这应该可行。不过,我不确定你有什么样的数据无法链接 Table2 和 Table1:

WITH T1 AS
(
    SELECT
       RN = ROW_NUMBER() OVER (ORDER BY NULL)
       ,Col1
    FROM
       Tbl1

)
,T2 AS
(
   SELECT
       RN = ROW_NUMBER() OVER (ORDER BY NULL)
       ,Col1
    FROM
       Tbl2

)

UPDATE
    T1
SET
    Col1 = T2.col1
FROM 
    T1
INNER JOIN
    T2
       ON T1.RN = T2.RN

【讨论】:

以上是关于如何用另一个表中的另一列替换一列数据?的主要内容,如果未能解决你的问题,请参考以下文章

SQL 从另一个表中的另一列更新一列

转换后将数据从一列复制到同一表中的另一列

如何使用另一个表中的另一列更新一列? SQL 错误:ORA-00933:SQL 命令未正确结束

从表中选择行,其中具有相同 id 的另一个表中的行在另一列中具有特定值

如何参考r中另一列中的另一个单元格值更改列中的单元格值?

比较两个列并从同一个表中的另一列获取数据