如何使用SQL查询比较列数据和替换文本

如何使用SQL查询比较列数据和替换文本,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,这是我的表模式 Table1 { Column1 nVarchar(MAX), Column2 nVarchar(MAX), Column3 nVarchar(MAX), Column4 nVarchar(MAX), Column5 nVarchar(MAX), Column6 nVarchar(MAX), Column7 nVarchar(MAX), Column8 nVarchar(MAX), Column9 nVar

这是我的表模式

Table1
 {
    Column1 nVarchar(MAX),
    Column2 nVarchar(MAX),
    Column3 nVarchar(MAX),
    Column4 nVarchar(MAX),
    Column5 nVarchar(MAX),
    Column6 nVarchar(MAX),
    Column7 nVarchar(MAX),
    Column8 nVarchar(MAX),
    Column9 nVarchar(MAX),

 }

我该如何比较第1栏和第2栏,第3栏。。。第9列,如果第2列的数据与第1列的数据相同,则将第2列设为空,并对其他列执行相同的操作

我不想费心在IPad上键入所有9列,但以下内容将满足您的需要

您需要按照前两列的模式将其他7列添加到
集合
透视

UPDATE t1
 SET Column1 = [1],
     Column2 = [2]
FROM #table1 t1
CROSS APPLY
(
SELECT *
FROM
(
SELECT  DENSE_Rank() OVER (ORDER BY MIN(Idx)) AS Rnk, 
        ColumnValue
FROM
(
VALUES(1, Column1),(2, Column2)) V(Idx, ColumnValue)
WHERE ColumnValue IS NOT NULL
GROUP BY ColumnValue
) D
PIVOT (MAX(ColumnValue) FOR Rnk IN ([1], [2])) AS P
) ca

应该删除所有副本还是仅删除连续副本?所有副本