`

mysql级联查询

 
阅读更多
实现效果 例如:  中国 下的 省 市 县 乡 
输入 省的id 能把该省下的市,县,乡全部查出来,输入该市的id 可以把 该市下的 县,乡全部查出来

oracle 级联查询:oracle有内置函数  start with …connect by prior 直接实现级联效果如
select a.* from T_depart  a start with depid=’213520′ connect by prior depid=pdepid

depid是指 部门编号, pdepid是指上级部门编号  
depid=’213520′  是指查递归depid=213520的部门即查出 depid是213520
的子节点,孙节点,重孙节点,……

不过在mysql 中就有点麻烦了,得创建方法,并调用:
mysql中:创建function:
 DELIMITER $$
USE `device`$$
DROP FUNCTION IF EXISTS `getChildList`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `getChildList`(rootId VARCHAR(100)) RETURNS VARCHAR(1000) CHARSET utf8
BEGIN
       DECLARE pTemp VARCHAR(1000);  
       DECLARE cTemp VARCHAR(1000);
       SET pTemp = ‘$’;  
       SET cTemp = rootId;  
      
       WHILE cTemp IS NOT NULL DO  
         SET pTemp = CONCAT(pTemp,’,’,cTemp);  
         SELECT GROUP_CONCAT(depid) INTO cTemp FROM 
T_depart  
         WHERE FIND_IN_SET(pdepid,cTemp)>0; 
       END WHILE;  
       RETURN pTemp;
    END$$
DELIMITER ;

通过  
select getChildList(‘213520‘) from dual 可以验证查出 id是213520及它以下节点的id 例如 我的结果是
$,213520,21352012,21352013
通过
select * from ‘T_depart’ where find_in_set (depid,getChildList(‘213520‘));
就会查出 T_depart这个表中,
id = ‘213520’ 及其子孙节点的详细信息。
分享到:
评论

相关推荐

    mysql级联更新和级联删除

    ### MySQL级联更新与级联删除详解 在数据库设计中,外键约束是维护数据完整性和一致性的重要手段之一。MySQL的InnoDB存储引擎支持多种不同的处理外键的方式,包括级联更新(Cascade Update)和级联删除(Cascade ...

    最新最完整的中英法文ISO3166世界行政区划MySQL级联表------18

    最新最完整的中英法文ISO3166世界行政区划MySQL级联表,包含中国

    php+juqery+mysql级联列表

    这个“php+jquery+mysql级联列表”项目是关于如何使用这三种技术来实现这样一个功能的实例。下面将详细解释这些知识点。 1. PHP(Hypertext Preprocessor):PHP是一种广泛使用的开源服务器端脚本语言,尤其适合Web...

    solr5.3.1 导入mysql数据

    比如,我们需要指定 MySQL 的 JDBC 驱动、连接信息、表名、查询语句等。 3. **执行 Full Import**: 使用 Solr 的管理界面或命令行工具执行全量导入。这将执行 DataConfig.xml 中的 SQL 查询,将结果转换为 Solr ...

    SSH+JQuery+MySQL级联操作(省市县级联)

    在这个“SSH+JQuery+MySQL级联操作(省市县级联)”的案例中,我们将深入探讨如何利用这些技术实现一个省市县三级联动的效果。 首先,让我们了解什么是级联操作。级联操作通常指的是在一个选择发生变化时,相关的...

    全国省、市/区、县、街道四级级联Mysql数据

    全国省、市/区、县、街道四级级联Mysql数据是用于构建具有地理信息的数据库的重要资源。这种数据集通常包含中国所有省份、直辖市、自治区、地级市、区县以及乡镇(部分包括街道)的详细行政划分信息。在IT行业中,这...

    最新最完整的中英法文ISO3166世界行政区划MySQL级联表

    最新最完整的中英法文ISO3166世界行政区划MySQL级联表,包含中国 -- -- 表的结构 `API_location_country` -- CREATE TABLE `API_location_country` ( `id` int(11) NOT NULL, `name_en` varchar(255) DEFAULT ...

    Ajax下拉框级联查询(JDBC+Servlet+XMLHttpRequest异步对象)

    文件包括了:项目工程(关键部分注解详细),以及sql文件。功能:选中第一个下拉框,局部刷新第二个下拉框的值,且...主要使用了MySQL,jdbc,servlet,jsp,而异步是使用了原生的JS和XMLHttpRequest异步对象实现的。

    实现mysql级联复制的方法示例

    所谓级联复制就是master服务器,只给一台slave服务器同步数据,然后slave服务器在向后端的所有slave服务器同步数据,降低master服务器的写压力,和复制数据的网络IO。 一,配置master服务器 1,修改主配置文件 vim...

    ssm级联查询、上下架审核

    本项目围绕“级联查询”和“商品上下架审核”这两个核心功能进行阐述,旨在提供一个可以直接使用的小型项目模板,适合初学者理解和实践。 首先,级联查询是数据库操作中的一个重要概念,尤其是在复杂业务场景下。在...

    jsp+json+mySql 实现二级级联下拉菜单

    在本文中,我们将深入探讨如何使用JSP、JSON和MySQL来实现一个二级级联下拉菜单。这个功能常用于网站的表单设计中,让用户能够从相关联的分类中选择选项,例如省份与城市的选择。 首先,让我们了解这三个技术的核心...

    MySQL中利用外键实现级联删除、更新

    "MySQL 中利用外键实现级联删除、更新" 在 MySQL 中,外键是指在一个表中的一列或多列,引用另一个表中的主键或唯一索引。外键可以强制实施数据的一致性和完整性,使得数据更加可靠。外键在 MySQL 中的实现主要是...

    中国城市三级级联表sql文件 mysql

    这样的设计减少了表的数量,简化了关系,但可能导致查询复杂度上升,特别是当需要进行多级级联查询时。 另一个可能的情况是,这两个文件分别代表了两种不同的数据结构,比如一种是分表设计,将省、市、区分别存储在...

    级联数据全国省市区mysql版本

    级联数据测试 国内省市区级联 mysql数据库

    MSserver自关联表的级联删除

    - 通过查询找到所有这些ID的子记录(即`SuperID`在`@lastidtable`中的记录),并存入`@idtable`。 - 删除`@idtable`中的记录。 - 清空`@lastidtable`,并将`@idtable`中的ID移到`@lastidtable`,准备下一轮循环。...

    android sqlite绑定城市三级联包含三级城市级联mysql数据源,sql语句

    在Android开发中,SQLite...综上所述,实现这个功能需要掌握Android的SQLite数据库操作,SQL查询语言,Spinner的使用,以及如何结合远程MySQL数据源进行数据同步。同时,良好的编程习惯和性能优化策略也是必不可少的。

    MySQL中的级联复制:构建高效的数据同步架构

    在数据库的高可用和扩展性需求日益增长的今天,MySQL的级联复制成为了解决这些挑战的有效手段之一。级联复制通过在多个数据库实例之间建立复制链,实现了数据的多级同步,从而减轻了主数据库的负载,并提高了整体的...

    MySQL使用外键实现级联删除与更新的方法

    本篇文章将详细讲解如何使用外键在MySQL中实现级联删除和更新。 首先,要使用外键,数据库表必须使用支持外键的存储引擎,如InnoDB。InnoDB引擎提供了事务处理、行级锁定以及外键约束等功能,是实现这些级联操作的...

    全国省市区镇,4极级级联的mysql数据库文件,region.sql

    全国省市区镇四级级联的MySQL数据库文件"region.sql"是一个包含了中国行政区域详细信息的数据资源,主要用于在数据库系统中构建地理位置的关联结构。这样的数据通常包括省级、市级、区县级以及乡镇级行政区划的代码...

Global site tag (gtag.js) - Google Analytics