1、常规表字段

id,pid,lev,name

2、sql语句

DELIMITER //

DROP PROCEDURE IF EXISTS Pro_GetColumnOrg//
CREATE PROCEDURE Pro_GetColumnOrg(IN idd VARCHAR(36))
BEGIN
DECLARE lev INT;
SET lev=1;
DROP TABLE IF EXISTS tmp1;
CREATE TABLE tmp1(ID VARCHAR(36),OrgName VARCHAR(50),ParentID VARCHAR(36) ,levv INT);
INSERT tmp1 SELECT s.id,s.name,s.parent_id,1 FROM `主体表` s WHERE parent_id=idd;
WHILE ROW_COUNT()>0
DO
SET lev=lev+1;
INSERT tmp1 SELECT t.id,t.`name`,t.`parent_id`,lev FROM `主体表` t JOIN tmp1 a ON t.parent_id=a.id AND levv=lev-1;
END WHILE ;
INSERT tmp1 SELECT id,NAME,parent_id,1 FROM `sys_column` WHERE ID=idd;
SELECT * FROM tmp1 ORDER BY levv,ParentID;
END;
//

DELIMITER ;

3、调用

CALL Pro_GetColumnOrg('e60f43a7e81d46e88e093605e8161e55');

4、备注

这种表设计以后一定要加个 路径字段 以后就不用这么费事了,直接 like 查询

5、拓展阅读

http://blog.csdn.net/ACMAIN_CHM/article/details/4142971

最新文章

  1. 原生JS下拉加载插件分享。
  2. HttpClient_使用httpclient必须知道的参数设置及代码写法、存在的风险
  3. ios之无限 自动 图片轮播器的实现
  4. OpenJudge计算概论-计算鞍点
  5. MyArrayList——实现自己的ArrayList!
  6. 面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
  7. 3DSoftRenderer
  8. hdu2035java
  9. CSAPP--存储器及程序的局部性
  10. RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
  11. easyUI tree点击文字展开节点
  12. (译)Web是如何工作的(3):HTTP&REST
  13. putty 与winscp 区别
  14. 【LInux】统计某文件夹下目录的个数
  15. Spark学习笔记——Spark上数据的获取、处理和准备
  16. 2018.10.02 NOIP模拟 矩阵分组(二分答案)
  17. 阿里云slb+https 实践操作练习
  18. Java精选笔记_面向对象(多态、异常)
  19. Navicat 入门使用方法
  20. 十二、异步工具Timer

热门文章

  1. 大数据入门第九天——MapReduce详解(六)MR其他补充
  2. JavaWeb基础—Tomcat
  3. pandas:由列层次化索引延伸的一些思考
  4. 自动色彩均衡(ACE)快速算法
  5. 洛咕 P4304 [TJOI2013]攻击装置
  6. LUOGU3278 [SCOI2013]多项式的运算
  7. SSIS 数据流优化
  8. flask的继承和包含
  9. 使用electron开发一个h5的客户端应用创建http服务模拟后台接口mock
  10. 服务治理-> Spring Cloud Eureka