给孩子的名单独特的父母我有一个包含一个表heirarchical数据:如何获得一组SQL
ID Name ParentID
--- --------- ---------
1 Alpha 2
2 Beta 3
3 Gamma NULL
4 Delta 2
5 Epsilon 6
6 Zeta NULL
7 Eta 1
8 Theta NULL
鉴于ID的列表,我如何让所有的唯一根列表父母ID?我不想要中间父母。
例如,假设我给出的ID列表是1, 2, 3, 4, 5
。 我找的结果是:
ID
---
3
6
显然这需要某种形式的递归查询。我认为使用通用表格表达式(CTE)可能是可能的,但是我真的很费力地围绕它如何完成。到目前为止,我所看到的所有例子似乎都将所有的孩子和父母聚合在一起,以产生一个完整的习惯性列表,这不是我正在寻找的。有没有任何SQL专家可以让我在正确的方向推动?我意识到我可以迭代地对数据库进行多重查询,但我希望不必诉诸于此。
我应该注意到我正在使用SQL Server 2008.
与此类似,http://stackoverflow.com/questions/14940489/find-contact-in-location-tree/14941396#14941396 – Kaf 2013-02-18 17:43:25