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

时间:2013-05-31 17:27:30

标签: sql-server-2008 sql-update

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

1 个答案:

答案 0 :(得分: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