【发布时间】:2013-06-03 14:40:30
【问题描述】:
我有一个表,其中包含一个具有唯一 ID 的列和一个具有每个唯一 ID 的配偶 ID 的列(如果他们有配偶)。问题是每个配偶 ID 也出现在唯一 ID 列中,所以当我拉出一个列表,试图将一对夫妇视为一个单位时,我经常重复计算一对夫妇。
什么是获取给定唯一 ID 列表、检查他们的配偶是否也在同一个唯一 ID 列表中并只返回每对夫妇一个唯一 ID 的好、有效的方法?
这个问题有点复杂,因为有时夫妻双方都不在同一个名单中,所以如果他们已婚,这不仅仅是留下一个人的问题。如果配偶不在同一个列表中,我想确保保留那个。我还想确保我保留了配偶 ID 列中所有值为 NULL 的人。
相关表格的子集:
Unique_ID Spouse_ID
1 2
2 1
3 NULL
4 NULL
5 10
6 25
7 NULL
8 9
9 8
10 5
在这段摘录中,ID 的 3、4 和 7 都是单身。 ID 的 1、2、5、8 和 9 的配偶出现在 Unique_ID 列中。 ID 6 有一个配偶,其 ID 没有出现在 Unique_ID 列中。所以,我想保留 ID 的 1(或 2)、3、4、5(或 10)、6、7 和 8(或 9)。希望这是有道理的。
【问题讨论】:
标签: sql tsql duplicates uniqueidentifier