版主,不好意思,我问的是sqlserver的问题,但没找到相关的板块,只能在这发帖了,如果有sqlserver的板块,麻烦版主帮我移一下,谢谢了
我的网站分三级菜单,表的结构是这样设计的(nav_id,nav_name,nav_parentid),一级菜单的nav_parentid为0;二级的nav_parentid为他的上级(一级的nav_id)。
现在我要查询出其中某一个一级菜单下面所有的二级三级的ID,该怎么写sql语句呢?
select nav_id,nav_name from nav where nav_parentid=0;---这是查出的一级菜单
select nav_id,nav_name from gs_nav where nav_parentid=10;---这是查出的二级菜单
我现在要一次性查出所有属于ID=10下面的所有目录(包括一级的ID10)。
------解决思路----------------------
select * from gs_nav g1 inner join gs_nav g2 on g1.nav_id = g2.nav_parentid
inner join gs_nav g3 on g2.nav_id = g3.nav_parentid
where g1.nav_id =10