我正在尝试将一些记录链接在一起以识别兄弟组。我们可以做到这一点的方法是识别具有相同父母的客户。
SQL 示例如下:
SELECT
A.ClientID,
B.ParentID
FROM A
LEFT JOIN B ON B.ClientID to A.ClientID
AND B.REL_END is NULL AND B.REL_CODE = 'PAR'
它将以以下格式返回数据:
Client ID Parent ID
1 A
1 B
2 C
2 D
3 C
3 E
4 C
4 D
我希望它如何显示如下:
Client ID No. of Siblings
1 0
2 2
3 2
4 2
希望表格显示孩子 1 有 0 个兄弟姐妹(与 2、3、4 没有父母),孩子 2 有 2 个兄弟姐妹(3 和 4),孩子 3 有 2 个兄弟姐妹(2 和 4),孩子 4 有 2 个兄弟姐妹( 2,3)。看起来它应该很简单来实现这一点,但我现在真的很难想怎么做!我认为这有点令人困惑,因为一个孩子可能只与另一个孩子共享一个父母,以被视为兄弟姐妹。
希望这很清楚,谢谢。
编辑:为了清楚起见,关系是由一个与另一个孩子共享父 ID 的孩子标识的(ID 是唯一的,但我为本示例提供了通用 ID)。因此,孩子 2、3 和 4 都有一个 id 为 C 的父母,他们被视为兄弟姐妹。