`
paulfzm
  • 浏览: 884668 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mysql 获取当前类别及所有子类别id

阅读更多
CREATE  FUNCTION `getTreeCategory`(rootId INT) RETURNS VARCHAR(1000) CHARSET utf8
BEGIN
 DECLARE sTemp VARCHAR(1000);/*定义一个临时字段来存放所有的类别与子类别*/
    DECLARE sTempChd VARCHAR(1000);/*定义一个临时字段,来得到当前类别的子类别*/
    SET sTemp = '';
    SET sTempChd =CAST(rootId AS CHAR);
    WHILE sTempChd IS NOT NULL DO
        SET sTemp = CONCAT(sTemp,',',sTempChd);/*将以前类别与现在查询类别进行合并*/
        /*将每次查到的子id形成一个字符组,放到sTempChd里,如果sTempChd为null就停止循环*/
        SELECT GROUP_CONCAT(catid) INTO sTempChd FROM tblName WHERE FIND_IN_SET(parentid,sTempChd)>0;
    END WHILE;
    SET sTemp = SUBSTRING(sTemp,2,CHAR_LENGTH(sTemp));
    RETURN sTemp;        
    END$$

 

测试结果

select getTreeCategory(0);

分享到:
评论

相关推荐

    mysql递归调用获取树节点(子树).pdf

    在MySQL中,构建和操作树形结构数据是一个常见的需求,特别是在组织层次结构、菜单系统或者类别管理等场景。本PDF文档介绍了一种方法,通过递归调用存储过程来获取树节点及其子树。以下是对相关知识点的详细说明: ...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    在MySQL中,递归查询通常用于处理层次结构的数据,如组织结构、菜单系统或类别树等。当数据的层级关系无法预知或者可能无限深时,传统的JOIN操作可能无法满足需求,此时就需要自定义函数来实现递归查询。本文将详细...

    mysql学习笔记

    我们想获取每个商品的商品ID、商品名称、类别名称和品牌名称以及商品价格。右外连接确保了即使在tbd_goods中没有匹配项,tdb_goods_cates和tdb_goods_brands中的所有记录也会被包含在结果集中。查询语句如下: ```...

    JSP源码——JSP无限级分类目录树_sorttree.zip

    同时,提供获取子类别的方法,如`getChildren()`,用于获取当前类别下的所有子类别。 3. **数据库查询** 使用JDBC(Java Database Connectivity)连接数据库,根据父类别ID查询其子类别。对于无限级分类,可以使用...

    帆软《零基础快速自学SQL》第二部分练习题及答案(Mysql)

    在帆软的《零基础快速自学SQL》课程的第二部分中,学员们会遇到一系列针对MySQL数据库的练习题,旨在帮助他们巩固和提升SQL查询能力。以下是对这些练习题的知识点解析: 1. **查找供应商名称及其所在城市**:这需要...

    开源Web技术(PHP+MySQL)期末考查题纲要求.doc

    1. **设计类别表:** 创建包含类别ID、名称等字段的类别表。 2. **类别管理功能:** 实现类别增、删、查、改的功能。 3. **关联新闻表:** 确保新闻表中有关联类别的字段,并能够在修改类别时同步更新新闻表中的相关...

    MySql 基础

    3. **查看所有数据库**:使用`SHOW DATABASES`命令列出当前MySQL服务器上的所有数据库。 4. **使用系统数据库**: - `INFORMATION_SCHEMA`:存储系统中的一些数据库对象信息,如用户表信息、列信息、权限信息、...

    category.7z 淘宝类目mysql文件 80w行

    总之,"category.7z 淘宝类目mysql文件 80w行"提供了宝贵的电商市场数据,通过对这些数据的深入挖掘和分析,无论是电商平台的运营者还是市场研究人员,都能从中获取有价值的信息,为业务发展提供有力支持。

    [其他类别]JSP无限级分类目录树_sorttree.zip

    4. **递归逻辑**:无限级分类目录树的关键在于递归,通过判断当前节点是否有子节点,并不断调用自身来展示所有子节点。在JSP页面中,可以使用脚本let或scriptlet()来实现递归逻辑。 5. **数据结构设计**:为了...

    无限分类源代码

    例如,对于MySQL数据库,可以使用以下SQL查询来获取一个分类的所有上级分类: ```sql WITH RECURSIVE ancestors AS ( SELECT id, name, parent_id FROM categories WHERE id = ? -- 输入目标分类ID UNION ALL ...

    php实现面包屑导航例子分享

    这个表存储了类别信息,其中`id`是类别ID,`catename`是类别名称,`path`表示所有父类别的ID,而`fullpath`包含所有祖先ID以及当前ID。例如,类别“老人手机”的`path`是`1,2`,表示它是“功能手机”(`id=2`)的子...

    JeeCMS网上文档集合

    - **根据文章类别ID获取文章列表标签【ArtiList】**:说明如何展示特定类别的文章列表。 - **根据栏目ID获取栏目链接标签【ChnlHref】**:指导如何获取指定栏目的链接。 - **根据栏目ID获取子栏目链接标签【ChnlList...

    向新闻表添加记录 显示新闻列表 分页显示新闻 显示新闻内容

    这个表通常会包含如下字段:`id`(主键,自增),`title`(新闻标题),`content`(新闻内容),`author`(作者),`datetime`(发布日期和时间),`category_id`(类别ID,如果有多个分类的话)等。设计合理的...

    ecshop 二级导航

    '':get_child_tree($row['cid'])`,此行代码表示如果当前项有子分类,则通过调用`get_child_tree`函数获取子分类列表,并将其赋值给`subCat`变量。 2. **HTML结构构建**: - 通过HTML和CSS构建导航栏的基本布局。 ...

    ASP递归无限级分类源码

    在无限级分类中,我们可以设计一个函数,它接受当前分类的ID,然后查询数据库找出所有该分类的子分类。接着,对每个子分类,再次调用这个函数,直到没有子分类为止,这就是递归的过程。 以下是一个简化的ASP递归...

    jQuery结合PHP+MySQL实现二级联动下拉列表[实例]

    在JavaScript部分,我们定义了一个`getVal()`函数,这个函数负责根据省份ID获取对应的地市数据。当页面加载完成或省份选择发生变化时,`getVal()`会被调用。它使用`$.getJSON`向服务器发送AJAX请求,请求的URL是`...

    asp无限分类实例(含数据库)

    使用递归查询或者层次查询(如MySQL的`WITH RECURSIVE`,SQL Server的`CROSS APPLY`)从数据库中获取所有分类及其层级信息。 3. **ASP代码处理** - 在ASP中,可以使用ADO(ActiveX Data Objects)来连接数据库并...

    Ajax+PHP实现的分类列表框功能示例

    JavaScript函数`changetype()`接收用户选择的大类别作为参数,通过`document.getElementById("ptype").value`获取当前选中的值。在页面加载时,该函数会立即执行一次,显示初始的子类别内容。当用户更改类别时,函数...

    orcal数据库

    要获取当前数据库中的所有用户表,可以使用以下语句: ```sql SELECT * FROM sysobjects WHERE xtype = 'U' AND category = 0; ``` 这里`xtype = 'U'`表示选择用户表类型,`category = 0`表示选择用户表类别。 ### ...

    在数据库中存储层次数据

    它首先查询当前节点的所有子节点,然后对每个子节点递归调用自身,增加层级深度,从而显示整个子树。例如,`display_children('',0)`将从根节点“Food”开始,逐级显示所有子节点,形成层次结构。 除了显示树结构,...

Global site tag (gtag.js) - Google Analytics