今天,终于有时间整理一下 最近的问题 一张表中存放父id及路径等字段,现在需要提供一个接口 支持模糊查询 将父信息及当前模糊的子信息查询出来。
可能说起来复杂,话不多说,上代码
创建表
DROP TABLE IF EXISTS `organization`;
CREATE TABLE `organization` (
`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键id',
`org_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '机构编号',
`org_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '机构名称',
`parent_code` int(20) DEFAULT NULL COMMENT '父级id',
`parentall_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '所有父级id集合',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;INSERT INTO `organization` VALUES ('1', 'test1', '测试1', '-1', '0,');
INSERT INTO `organization` VALUES ('2', 'test2', '测试2', '1', '0,1,');
INSERT INTO `organization` VALUES ('3', 'test3', '测试3', '2', '0,1,2');
INSERT INTO `organization` VALUES ('4', 'test4', '测试4', '3', '0,1,2,3,');
INSERT INTO `organization` VALUES ('5', 'org1', '机构1', '-1', '0,');
INSERT INTO `organization` VALUES ('6', 'org2', '机构2', '5', '0,5,');
INSERT INTO `organization` VALUES ('7', 'test5', '测试5', '5', '0,5,');
模糊查询机构SQL 可以查询出包含测试