我有一个简单的表格,如下所示:
ClientID ItemID
1 1
1 2
1 3
2 1
2 2
3 3
4 3
5 1
5 2
5 4
5 5
其中两列组合成为主键。我现在的任务是识别分配给 ClientID 的所有唯一 ItemID 集。所以在我的例子中,集合是:
ItemIDs 1,2,3 (used by ClientID 1)
ItemIDs 1,2 (used by ClientID 2)
ItemIDs 3 (used by ClientIDs 3 and 4)
ItemIDs 1,2,4,5 (used by ClientID 5)
理想情况下,输出将是两个表:
SetID ItemID
1 1
1 2
1 3
2 1
2 2
3 3
4 1
4 2
4 4
4 5
ClientID SetID
1 1
2 2
3 3
4 3
5 4
其中 SetID 将是在其他地方使用的新字段。
目前,我识别唯一集的方法包括使用游标为每个 ClientID 构建有序 ItemID 的字符串,然后比较输出以获取唯一字符串,最后将其解析回来。写得很快,但感觉很糟糕。
我相信一定有比这更好的方法。有任何想法吗?