如何使用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
应该删除所有副本还是仅删除连续副本?所有副本