我想知道如何找到所有菜单及其子菜单。
我有表“菜单”,其中包含:
我已经进入了我的数据库记录,例如:
id: 2 parent_id = 1
id: 3 parent_id = 2
id: 4 parent_id = 2
id: 5 parent_id = 3
id: 6 parent_id = 5
id: 7 parent_id = 4
id: 8 parent_id = 7
id: 9 parent_id = 8
id: 10 parent_id = 1
id: 11 parent_id = 10
我需要创建select语句并获取菜单id = 2的所有子菜单? 所以像recur-ency选择...... 我唯一的一个参数是id = 2,结果我必须有id的菜单: 没有10和11菜单的3,4,5,6,7,8,9。
此声明必须与postgresql和oracle数据库一起使用
在oracle中我试着写这样的东西: with q(id, parent_id) as (
select
t1.id , t1.parent_id
from menu t1
where t1.id = 454
union all
select
q.id , q.parent_id
from q
join menu t2 on q.id = t2.parent_id
)
select * from q
但我有循环错误ORA-32044 我不知道oracle数据库版本所以这个声明必须正确所有oracle数据库版本> = ver 9