如何通过sql找到间接关系

时间:2017-06-27 23:27:21

标签: sql oracle

如果我的表item5有两列(FRIENDS),varchar2和data类型都是这样的

name, friend

所以,我想要一个获取人的所有间接关系的查询,例如对Sam来说,它会显示John,Vijay,Anand,而不是Ram和Vamsi

2 个答案:

答案 0 :(得分:0)

select
   f1.name
   , f2.friend as indirect_rel
from
   friends f1
   join friends f2 on f2.name = f1.friend

答案 1 :(得分:0)

select A.friend
from FRIENDS A
where A.friend not in (select B.friend from FRIENDS B where B. name = A.name)