[英]Topmost parent in a child parent relationship table using query
我有一個有父子關系的表:
Parent_id Child_id
1 2
1 5
2 3
2 4
5 6
7 4
7 8
8 6
關系是孩子和直系父母之間的關系。
一個孩子可以有多個父母,例如4是2和7的孩子
如何使用sql查詢找到孩子的最高父級?
示例:對於3,答案必須為1
對於4,答案可以是1或7。為簡單起見,假設我必須返回最小的一個,即1
對於5,答案是1(因為1沒有父母,所以它將被認為是最高的)
我正在使用DB2(10.5),但是一般的sql查詢會給我這個想法。
db2中的一種可能性(不適用於MySQL)
SELECT CHILD_ID, min(ROOT) as ROOT FROM (
SELECT CONNECT_BY_ROOT PARENT_ID AS ROOT, f1.*
FROM YOURTABLE f1
CONNECT BY NOCYCLE PRIOR CHILD_ID=PARENT_ID
) tmp
group by CHILD_ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.