oracle中有connect by prior ,可以实现父子递归查询。而mysql中没有这种功能,但我们可以变通实现。

比如一个表:

Table Name: tb_Tree

Id | ParentId | Name
--------------------
1 | 0 | Fruits
2 | 0 | Vegetables
3 | 1 | Apple
4 | 1 | Orange
5 | 2 | Cabbage
6 | 2 | Eggplant 我们需要知道某个ID的所有下级。 以下这个查询,可以列出所有水果蔬菜的四层上级ID,如果没有四级,则相应的parentid为Null。(你也可以扩展级数)
select id,name,parentid
,(select parentid from tb_tree where id=t.parentid) parentid2
,(select parentid from tb_tree where id=(select parentid from tb_tree where id=t.parentid)) parentid3
,(select parentid from tb_tree where id=(select parentid from tb_tree where id=(select parentid from tb_tree where id=t.parentid))) parentid4
from tb_tree t

于是我们很方便查到我们所要的结果,比如要查fruits的所有children:
select id ,name from (
select id, name, parentid
,(select parentid from tb_tree where id=t.parentid) parentid2
,(select parentid from tb_tree where id=(select parentid from tb_tree where id=t.parentid)) parentid3
,(select parentid from tb_tree where id=(select parentid from tb_tree where id=(select parentid from tb_tree where id=t.parentid))) parentid4
from tb_tree t) tt
where ifnull(parentid4,0)=1 or ifnull(parentid3,0)=1 or ifnull(parentid2,0)=1 or ifnull(parentid,0)=1
												

最新文章

  1. 关于Agile Scrum的笔记
  2. 偷师--先留着。。ssh,nginx,防火墙相关命令
  3. 使用Jaxb2进行xml与bean的转义时Date的format设置
  4. 飞天诚信usb-key登录windows+远程桌面
  5. Entity Framework之问题收集
  6. OSGI框架学习
  7. [转载] Zookeeper中的 ACL(Access Control List)访问控制列表
  8. ubuntu14.04 cocos2d-x-3.6 glfw编译出错解决方案
  9. 实际比较filter2D和imfilter之间的关系
  10. 201521123115 《Java程序设计》第12周学习总结
  11. Java连接数据库完整代码 查找和插入
  12. java环境变量和tomcat环境变量配置
  13. pyqt4 写动画不能播放问题集合
  14. 最快1天搭建短视频APP!阿里云短视频解决方案上线
  15. CodeForces5E 环转链,dp思想
  16. Hystrix 学习使用
  17. XML文件的DTD编写
  18. 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)
  19. 洛谷P4043 支线剧情
  20. DSO安装试运行

热门文章

  1. B: 最小代价
  2. Linux下安装Docker,报错docker: unrecognized service的两种解决方案
  3. ActiveMQ--模式(队列模式/主题模式)
  4. 「luogu4135」作诗
  5. Java最新面试题
  6. linux磁盘扩容常见问题
  7. 吴裕雄--天生自然MySQL学习笔记:MySQL 安装
  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:静态控件
  9. HDU 5506:GT and set bitset+暴力
  10. LUOGU P6034 Ryoku与最初之人笔记 简要题解