我有多行T1的历史表,我需要3行的信息,所以我有新表T2,我想从T1到T2复制这些信息。 但我有重复的数据,所以如何复制权? 我需要一些重复的行,有些不是。只有在列D我有相同的数据,如行之前我不需要来自此行的信息 例: 我的桌子看起来像这样 - T1:
Id B D
1 8 10
2 8 3
3 8 3
4 8 10
我只需要这些行 - T2:
Id B D
1 8 10
2 8 3
4 8 10
答案 0 :(得分:1)
只需与之前的行数据进行比较,如果匹配则不包括where where condition
;WITH data AS
(
SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS Sequence FROM [Table]
)
SELECT Id, B, D
FROM data d
WHERE
NOT EXISTS
(
SELECT *
FROM data
WHERE Sequence + 1 = d.Sequence
AND B = d.B
AND D = d.D
)
答案 1 :(得分:0)
insert into t2
select Id ,B ,D
(select * from t2
except
select d* from t1) t3