有一张菜单表(menu),字段:menuId,parentIdSELECT * FROM menu t WHERE t.menuId = 3这样查出来个子节点,怎样才能把它的父节点一并查出来我现在的做法是:SELECT * FROM menu t WHERE t.menuId = 3
OR ( t.menuId IN(SELECT m.parentId FROM menu m WHERE m.menuId = 3) )不知道还有没其它好的方法
OR ( t.menuId IN(SELECT m.parentId FROM menu m WHERE m.menuId = 3) )不知道还有没其它好的方法
解决方案 »
- 插入语句的限制问题。
- 简单查询问题sql
- dll中调用存储过程在win7系统中不能使用
- ==为什么,本地1433端口不能telnet上???
- SQL Server2005的维护计划使用SQL字段查询
- 求"不能在 INSERT-EXEC 语句内部使用 ROLLBACK 语句" 的解决方法?
- 求教,在MS sql里,如何把12转换成十二,如何截取字符串,多谢
- 三层架构怎么在SQL里存取图片?100分
- 快来看看!!!为什么这段代码我无法连接到sql server ???在公司不行,在家里就行!!!我用的是本地机(sql server)快快快!!!不断加分!!!!
- 差异备份莫名爆涨
- Management Studio登陆不了
- 嵌套存储过程太影响速度,有什么办法
SELECT * FROM menu WHERE menuId = 3
union all
SELECT A.* FROM menu a,cte b where a.menuId=b.parentId
)
select * from cte
忘记说了,我用的是MYSQL,这个先去试下
里面有两条记录
menuId parentId
1 0
3 1
其中第一条记录是父节点,子节点就是第二条了我查出了子节点,怎样把它的父节点一起查出来