情况如下。在将文件与其自身匹配以进行重复数据删除后,我们将得到以下匹配记录对:
键 1 - 键 2键 1
-
键 3 键 2 -键 1 键 2 -
键 3键 3
-键 1 键 3
- 键 2
我想以某种方式为此添加一个唯一的集群键,这样我们就可以在同一个键下保留所有这些记录。因此,在这种情况下,我们将有一个单独的密钥,将 Key1、Key2 和 Key 3 标识为相同的一个。
欢迎任何帮助。
谢谢,
多鲁
情况如下。在将文件与其自身匹配以进行重复数据删除后,我们将得到以下匹配记录对:
键 1 - 键 2键 1
-
键 3 键 2 -键 1 键 2 -
键 3键 3
-键 1 键 3
- 键 2
我想以某种方式为此添加一个唯一的集群键,这样我们就可以在同一个键下保留所有这些记录。因此,在这种情况下,我们将有一个单独的密钥,将 Key1、Key2 和 Key 3 标识为相同的一个。
欢迎任何帮助。
谢谢,
多鲁
您似乎有一个完整的彼此相同的键列表。假设您有一张带有这两个键的表。以下查询返回任何给定键的最小键值:
select key1,
(case when key1 < min(key2) over (partition by key1) then key1
else min(key2) over (partition by key1)
end) as newkey
from keypairs kp
group by key1;
这给出了每个键的查找值。要将其应用于您的表(在 SQL Server 或 DB2 中):
select t.*, coalesce(keymap.newkey, t.key) as newkey
from YourTable t left outer join
(select key1,
(case when key1 < min(key2) over (partition by key1) then key1
else min(key2) over (partition by key1)
end) as newkey
from keypairs kp
group by key1
) keymap
on t.key = keymap.key1;
更新查询将是类似的。