Mysql根據(jù)某層部門(mén)ID查詢所有下級(jí)多層子部門(mén)的示例
復(fù)制以下sql語(yǔ)句生成一個(gè)叫sys_dept的表和插入若干構(gòu)造好的有層級(jí)關(guān)系的數(shù)據(jù),直接復(fù)制執(zhí)行就ok
DROP TABLE IF EXISTS `sys_dept`;CREATE TABLE `sys_dept` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ’部門(mén)編號(hào)’, `p_id` int(11) DEFAULT NULL COMMENT ’父級(jí)部門(mén)編號(hào)’, `title` varchar(255) DEFAULT NULL COMMENT ’父級(jí)部門(mén)名稱’, `is_open` int(11) DEFAULT NULL COMMENT ’是否展開(kāi)(0-展開(kāi),1-不展開(kāi))’, `address` varchar(255) DEFAULT NULL COMMENT ’部門(mén)地址’, `create_time` datetime DEFAULT NULL COMMENT ’創(chuàng)建時(shí)間’, `remark` varchar(255) DEFAULT NULL COMMENT ’備注’, PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO sys_dept (p_id,title,is_open,address,create_time,remark) VALUES (0,’總經(jīng)辦’,1,’深圳’,’2019-04-10 14:06:32.000’,’大BOSS’),(1,’銷售部’,0,’武漢’,’2019-04-10 14:06:32.000’,’程序員?潘?),(1,’運(yùn)營(yíng)部’,0,’武漢’,’2019-04-10 14:06:32.000’,’無(wú)’),(1,’生產(chǎn)部’,0,’武漢’,’2019-04-10 14:06:32.000’,’無(wú)’),(2,’銷售一部’,0,’武漢’,’2019-04-10 14:06:32.000’,’銷售一部’),(2,’銷售二部’,0,’武漢’,’2019-04-10 14:06:32.000’,’銷售二部’),(2,’銷售三部’,0,’廣州’,’2019-04-10 14:06:32.000’,’銷售三部’),(2,’銷售四部’,0,’廣州’,’2019-04-10 14:06:32.000’,’銷售四部’),(2,’銷售五部’,0,’廣州’,’2019-04-10 14:06:32.000’,’銷售五部’),(3,’運(yùn)營(yíng)一部’,0,’武漢’,’2019-04-10 14:06:32.000’,’運(yùn)營(yíng)一部’),(3,’運(yùn)營(yíng)二部’,0,’武漢’,’2019-04-10 14:06:32.000’,’運(yùn)營(yíng)二部’),(3,’運(yùn)營(yíng)三部’,0,’武漢’,’2019-04-10 14:06:32.000’,’運(yùn)營(yíng)三部’),(3,’運(yùn)營(yíng)四部’,0,’武漢’,’2019-04-10 14:06:32.000’,’運(yùn)營(yíng)四部’),(3,’運(yùn)營(yíng)五部’,0,’武漢’,’2019-04-10 14:06:32.000’,’運(yùn)營(yíng)五部’),(4,’生產(chǎn)一部’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)一部’),(4,’生產(chǎn)二部’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)二部’),(4,’生產(chǎn)三部’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)三部’),(5,’銷售一部一組’,1,’深圳’,’2019-11-23 09:50:23.000’,’銷售一部一組’),(5,’銷售一部二組’,1,’深圳’,’2019-11-23 09:50:23.000’,’銷售一部二組’),(5,’銷售一部三組’,1,’深圳’,’2019-11-23 09:50:23.000’,’銷售一部三組’),(6,’銷售二部一組’,1,’深圳’,’2019-11-23 09:50:23.000’,’銷售二部一組’),(6,’銷售二部二組’,1,’深圳’,’2019-11-23 09:50:23.000’,’銷售二部二組’),(17,’生產(chǎn)三部一組’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)三部一組’),(17,’生產(chǎn)三部二組’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)三部二組’),(17,’生產(chǎn)三部三組’,1,’深圳’,’2019-11-23 09:50:23.000’,’生產(chǎn)三部三組’);根據(jù)部門(mén)ID查詢所有子部門(mén)
select id,titlefrom ( select t1.id,t1.title, if(find_in_set(p_id, @pids) > 0, @pids := concat(@pids, ’,’, id), 0) as ischild from ( select id, p_id, title from ssmdemo.sys_dept t order by p_id, id ) t1, ( select @pids := 17) t2 ) t3where ischild != 0
其中@pids := 17的17就是要查詢的部門(mén)ID
到此這篇關(guān)于Mysql根據(jù)某層部門(mén)ID查詢所有下級(jí)多層子部門(mén)的示例的文章就介紹到這了,更多相關(guān)Mysql ID查詢所有下級(jí)多層子部門(mén)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. SQL Server全文檢索簡(jiǎn)介2. 快速刪除ORACLE重復(fù)記錄3. MySQL 的啟動(dòng)和連接方式實(shí)例分析4. SQL Server中單引號(hào)的兩種處理技巧5. SQL Server刪除表中的重復(fù)數(shù)據(jù)6. idea連接SQL Server數(shù)據(jù)庫(kù)的詳細(xì)圖文教程7. mysql如何獲取時(shí)間整點(diǎn)8. Oracle數(shù)據(jù)庫(kù)表空間超詳細(xì)介紹9. mysql 模糊查詢 concat()的用法詳解10. SQL SERVER數(shù)據(jù)庫(kù)開(kāi)發(fā)之存儲(chǔ)過(guò)程的應(yīng)用
