我有 3 个名为 ICD10、Claims 和 AuthHeader 的表。这 3 个表全部连接在一起以创建 1 个用于访问我的 SSAS Cube 的视图表。在 ICD10 中有重复的行,需要删除。如何在不弄乱与 ICD10 表连接的主键的情况下删除重复项?我看过这个脚本,但我认为这不是我需要的
DECLARE @table TABLE (
id INT IDENTITY(1, 1)
, data VARCHAR(20)
)
DELETE FROM @table
FROM @table o
INNER JOIN ( SELECT data
FROM @table
GROUP BY data
HAVING COUNT(*) > 1
) f ON o.data = f.data
LEFT OUTER JOIN ( SELECT [id] = MAX(id)
FROM @table
GROUP BY data
HAVING COUNT(*) > 1
) g ON o.id = g.id
WHERE g.id IS NULL