Sql 如何在层次结构表中查找任何内容?
我在查询级别结构表时遇到问题:Sql 如何在层次结构表中查找任何内容?,sql,oracle,hierarchical-data,Sql,Oracle,Hierarchical Data,我在查询级别结构表时遇到问题: select * from user_info where user = 1; user level value 1 1 Jackson 1 2 Pollock 1 3 1989-02-03 1 4 male 1 5 single 如果我想获得与用户1在级别1、2、3和4中的值完全相同的所有用户,该怎么办?最简单的方法可能是listag(): 更传统的方法是自联接: select u.use
select *
from user_info
where user = 1;
user level value
1 1 Jackson
1 2 Pollock
1 3 1989-02-03
1 4 male
1 5 single
如果我想获得与用户1在级别1、2、3和4中的值完全相同的所有用户,该怎么办?最简单的方法可能是
listag()
:
更传统的方法是自联接:
select u.user
from user_info u join
user_info u1
on u1.level = u.level and
u1.value = u.value and
u1.user = 1
where u1.level between 1 and 4
group by u.user
having count(*) = 4; -- four levels match
select u.user
from user_info u join
user_info u1
on u1.level = u.level and
u1.value = u.value and
u1.user = 1
where u1.level between 1 and 4
group by u.user
having count(*) = 4; -- four levels match