Mysql根據(jù)某層部門(mén)ID查詢所有下級(jí)多層子部門(mén)的示例
模擬表和數(shù)據(jù)腳本
復(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,'銷(xiāo)售部',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,'銷(xiāo)售一部',0,'武漢','2019-04-10 14:06:32.000','銷(xiāo)售一部') ,(2,'銷(xiāo)售二部',0,'武漢','2019-04-10 14:06:32.000','銷(xiāo)售二部') ,(2,'銷(xiāo)售三部',0,'廣州','2019-04-10 14:06:32.000','銷(xiāo)售三部') ,(2,'銷(xiāo)售四部',0,'廣州','2019-04-10 14:06:32.000','銷(xiāo)售四部') ,(2,'銷(xiāo)售五部',0,'廣州','2019-04-10 14:06:32.000','銷(xiāo)售五部') ,(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,'銷(xiāo)售一部一組',1,'深圳','2019-11-23 09:50:23.000','銷(xiāo)售一部一組') ,(5,'銷(xiāo)售一部二組',1,'深圳','2019-11-23 09:50:23.000','銷(xiāo)售一部二組') ,(5,'銷(xiāo)售一部三組',1,'深圳','2019-11-23 09:50:23.000','銷(xiāo)售一部三組') ,(6,'銷(xiāo)售二部一組',1,'深圳','2019-11-23 09:50:23.000','銷(xiāo)售二部一組') ,(6,'銷(xiāo)售二部二組',1,'深圳','2019-11-23 09:50:23.000','銷(xiāo)售二部二組') ,(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,title from ( 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 ) t3 where 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)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。