mysql树形结构查询问题 5C

各位大牛,我有张树形结构mysql表,id字段为唯一标识字段,parent_id 是父节点的
id值,我想通过sql语句查询出name字段的值,让每个子节点的name字段的值都显示为
对应祖宗节点(即parent_id为0)的name字段的值?

图片说明

1个回答

这种东西一般都在代码中处理,而不是在sql中。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

mysql 如何分层查询出树型结构

![图片说明](https://img-ask.csdn.net/upload/201608/30/1472545573_453140.png) 如上图 , 要做一个列表。查出的数据需要 分三个级别,其中二级在一级下显示,三级在二级下显示。 比如:电脑是一级 ,然后紧接着 电脑整机 再 台式~~~ 更像一个树形对吗?为什么要做成列表? 还带分页 因为设计如此。 所以此帖只讨论 如何 用sql 查出这样的结果。 是mysql 数据库

Maria数据库查询树形结构

base_users表包含User_ID和parentid两个字段.要求传入User_ID,查询出查询出用户,以及其下级用户(多个下级,下级还有下级). 我使用的方法 函数: ``` BEGIN DECLARE oTemp VARCHAR(4000); DECLARE oTempChild VARCHAR(4000); SET oTemp = ''; SET oTempChild = CAST(pUID AS CHAR); WHILE oTempChild IS NOT NULL DO SET oTemp = CONCAT(oTemp,',',oTempChild); SELECT GROUP_CONCAT(User_ID) INTO oTempChild FROM base_users WHERE FIND_IN_SET(ParentId,oTempChild) > 0; END WHILE; if(length(oTemp)>0) then begin return substring(oTemp,2); end; else return oTemp; end if; END ``` 存储过程调用: ``` BEGIN declare pUser_Type int; declare pids text; select GROUP_CONCAT(User_ID) into pids from base_users where FIND_IN_SET(user_id, getChildUser(pUser_ID)); SELECT User_ID,ParentId,User_Name,User_Type FROM base_users where deletemark=0 and FIND_IN_SET(User_ID,pids) ; ``` 存储过程中还有查询需要用到pids. 这样做 查询好慢总共2000+数据,结果24行,要10+秒. 求大神优化指点. (用FIND_IN_SET(ParentId, @pids) > 0, @pids := CONCAT(@pids, ',', User_ID), 0) AS ischild 方法会有的下级查询不出来)

hibernate JPA 单表树形结构 注解配置。(已解决)

[code="java"] ublic class Category implements java.io.Serializable { @Id @GeneratedValue(strategy=IDENTITY) @Column(name="CAT_ID", unique=true, nullable=false) private Integer id; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="CAT_PARENT_ID") private Category parent; @Column(name="CAT_NAME", nullable=false, length=50) private String name; @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="Category") private Set<Category> children = new HashSet<Category>(0); //省略getter/setter } [/code] 代码如上,请问但是在@OneToMany的部分总是 org.hibernate.AnnotationException: mappedBy reference an unknown target entity property 错误. 单表的无限级树形目录结构. 第一次使用注解方式,还望各位大拿赐教. ----------------------------------------------------------------------------------- 自己结了,看了半天jpa v1.0规范还是因为对mappedBy理解出了差错. [code=Java] public class Category implements java.io.Serializable { @Id @GeneratedValue(strategy=IDENTITY) @Column(name="CAT_ID", unique=true, nullable=false) private Integer id; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="CAT_PARENT_ID") private Category parent; @Column(name="CAT_NAME", nullable=false, length=50) private String name; @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="Category")//[color=#FF0000]这个里因该更改为parent[/color] private Set<Category> children = new HashSet<Category>(0); //省略getter/setter } [/code]

mysql递归查询树形结构,主键ID保存在一张临时表中,哪位大神帮忙看下,急。。。。。。

CREATE FUNCTION `getTypeChildList` (rootId BIGINT) RETURNS @service_type TABLE (type_id VARCHAR (1000)) AS BEGIN DECLARE sChildList VARCHAR (1000); DECLARE sChildTemp VARCHAR (1000); SET sChildTemp = cast(rootId AS CHAR); WHILE sChildTemp IS NOT NULL DO IF (sChildList IS NOT NULL) THEN INSERT INTO @service_type VALUES (sChildTemp); END IF; SELECT group_concat(type_id) INTO sChildTemp FROM service_type where FIND_IN_SET(parent_id,sChildTemp)>0; END WHILE; RETURN; END; 表:CREATE TABLE `service_type` ( `type_id` bigint(20) NOT NULL, `type_name` varchar(100) DEFAULT NULL COMMENT '类型名称', `parent_id` bigint(20) DEFAULT NULL COMMENT '上一级类型id', PRIMARY KEY (`type_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Oracle递归查询树替换成mysql递归查询树

1.遇到问题(递归查询子节点时有两个pid如何更改) 2.附上oracle代码:(想在mysql做替换) select * from dataclean_element t start with t.id=#{nodeId} CONNECT BY PR OR t.id in(t.src_id,t.tag_id) 3.报错信息:Subquery returns more than 1 row 4.自己改的mysql问题代码 -> create definer = syjl_test@ % function getDataCleanElementChildList(rootId int) returns varchar(10000) BEGIN DECLARE sTemp VARCHAR(10000); DECLARE sTempChd VARCHAR(10000); DECLARE PID VARCHAR(10000); SET sTemp = '$'; SET sTempChd =cast(rootId as CHAR); WHILE sTempChd is not null DO SET sTemp = concat(sTemp,',',sTempChd); SET PID = (select SRC_ID from DATACLEAN_ELEMENT union select TAG_ID from DATACLEAN_ELEMENT); SELECT group_concat(id) INTO sTempChd FROM DATACLEAN_ELEMENT where FIND_IN_SET(PID,sTempChd)>0; END WHILE; RETURN sTemp; 5.参考博客:https://www.cnblogs.com/fakerblog/p/8372240.html 6.将oracle 递归sql 改为mysql start with CONNECT BY PR OR t.id (t.src_id,t.tag_id)可行方案

mysql构建树(含虚拟节点)

因为业务需要,需要用mysql构建一个含虚拟节点的树结构 表结构与树结构如下,请各位大神帮忙 ![图片说明](https://img-ask.csdn.net/upload/201909/27/1569592864_187048.png)

求从mysql获取树状结构

最近在做一个项目 我们是把页面上菜单存放到数据库 所以在加载页面要去读取这个树状结构 求大神给点代码实例

mysql查询一棵树,一级→二级→三级→四级的形式查询出结果?

数据库里面一张表存了一棵树,存储结构为菜单栏的1,2,3,4级菜单,以id,par_id 关联,怎么以字段name达到查询出结果一级→二级→三级→四级的形式查询出结果?

jstree如何做树形菜单时mysql中的sql语句该怎么写

我的jstree代码如下: <link rel="stylesheet" href="/static/manage/js/jstree/themes/default/style.min.css"> <script src="/static/manage/js/jstree/jstree.min.js"></script> <div class="col-sm-3 col-md-2 sidebar"> <div id="jstree_demo"></div> </div> <script type="text/javascript"> $('#jstree_demo') .jstree( { "core" : { "animation" : 0, "check_callback" : true, "themes" : { "stripes" : true }, 'data' : { 'url' : function(node) { var jsonData = JSON.stringify(node); alert(jsonData); return node.id === '#' ? '/manage/competence/getCPList?parentId=-1' : '/manage/competence/getCPList'; }, 'data' : function(node) { return { 'id' : node.id }; } } }, "types" : { "#" : { "max_children" : 1, "max_depth" : 4, "valid_children" : [ "root" ] }, "root" : { "icon" : "/static/manage/js/jstree/themes/images/tree_icon.png", "valid_children" : [ "default" ] }, "default" : { "valid_children" : [ "default", "file" ] }, "file" : { "icon" : "glyphicon glyphicon-file", "valid_children" : [] } }, "plugins" : [ "contextmenu", "dnd", "search", "state", "types", "wholerow" ] }); $('#jstree_demo').on("changed.jstree", function(e, data) { if (data.selected != "") { console.log(data.selected); //alert(data.selected); changeCompetence(data.selected); window.location.href='/manage/competence/index.htm#'+data.selected } }); </script> 请教大神帮忙看看,因为我数据库中的id必须要个这个node.id一致,不知道改则呢么改了

树形结构数据查找某一节点(包含该节点)下所有子节点的sql server2000

当我点击1-3这个父节点 查找子节点下pk_ID 关联的表 hv_PartsInputSub mainID 的所有数据 (不用精确到子节点 【场地】点击 才根据 mainid 查询到数据) ![图片说明](https://img-ask.csdn.net/upload/201805/24/1527143356_774286.png) ![图片说明](https://img-ask.csdn.net/upload/201805/24/1527143367_29272.png)

java实现树形结构把数组{"1", "1-3-4", "1-2", "1-2"}转变成如图的树

java实现树形结构,可以把String[] a = {"1", "1-3-4", "1-2", "1-2"}这个数组,转变成如图的树json么? ![图片说明](https://img-ask.csdn.net/upload/201612/23/1482475157_948374.png)

ssm做三级级联树形图实现条件查询功能

我采用的是ssm框架,项目里有下拉框三级级联的查询功能(已实现)。现在想做一个三级级联的树形图进行条件查询。想知道具体思路,下拉框级联查询对做树形图查询有没有可以调用的。希望大神能详解一下。前台用ul,li,或者使用ztree

从MySQL制作树形结构

<div class="post-text" itemprop="text"> <p>My table structure is as follows:</p> <pre><code>id | name | reporting_to 1 | AAA | 0 2 | BBB | 1 3 | CCC | 2 4 | DDD | 2 and so on... </code></pre> <p>i would like to print it so it generates as such</p> <pre><code>&lt;ul&gt; &lt;li&gt; AAA &lt;ul&gt; &lt;li&gt;BBB &lt;ul&gt; &lt;li&gt;CCC&lt;/li&gt; &lt;li&gt;DDD&lt;li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; </code></pre> <p>My current code works with one tiny catch:</p> <pre><code>function make_tree($parent, $array, $level = 0){ if(!is_array($array) || empty($array)) return FALSE; $output = '&lt;ul&gt;'; foreach($array as $index =&gt; $item) { if($item-&gt;reporting_to == $parent) { $output .= '&lt;li&gt;'.$item-&gt;name; $output .= $this-&gt;make_tree($item-&gt;id, $array, $level+1); $output .= '&lt;/li&gt;&lt;/li&gt;'; } } $output .= '&lt;/ul&gt;'; return $output; } </code></pre> <p>The code above prints the following: // Notice how the <code>&lt;ul&gt;</code> gets printed on every last children.</p> <pre><code>&lt;ul&gt; &lt;li&gt;AAA &lt;ul&gt; &lt;li&gt;BBB &lt;ul&gt; &lt;li&gt;CCC&lt;/li&gt; &lt;ul&gt;&lt;/ul&gt; // How do i get rid of this ? &lt;li&gt;DDD&lt;/li&gt; &lt;ul&gt;&lt;/ul&gt; // This one too... &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt; </code></pre> <p>I am not sure how to remove the <code>&lt;ul&gt;</code> on every last child. Can anyone help me to structure the <code>&lt;ul&gt;</code>? Thanks.</p> <p>EDIT:</p> <p>I think the better question is:</p> <blockquote> <p><em>Using my existing code, how should i identify whether given node is the last child (that particular node has no more children).</em></p> </blockquote> </div>

mysql的从子到父递归查询

mysql实现递归 select * from table start with id in (id个数未知) connect by prior parent_id=id 这是oracle的,想转成mysql的 表结构 id name code parent_id 1 aaa 001 null 2 bbb 001.002 1 就是普通的树形结构,在线等啊!!!

ztree树结构添加数据库

请问我下载了一个树结构 可以实现增删改 但是没有数据库 要怎么才能添加数据库 谢谢啦

sql 按树状结构 分组求和 父节点包括所有字节点的值

有一个表存树状结构: 值 上级节点 所属级数 001 * 1 00101 001 2 00102 001 2 0010203 00102 3 ... 00103 001 2 ... 在其他表中存储对应的数据,有[金额]和[数状表的字节点值]。 如: 100.00 / 0010203 现在想做出求和的效果如下 码值 合计 001 161 00101 61 0010101 50 0010101 11 00102 100 0010203 100 ...

实现班级的管理,以树形结构展现在jsp页面上

利用hibernate + mysql + jsp 。我不明白各个节点 在hibernate映射文件中应该怎么来写?跪求

mysql创建函数一直提示语句错误

我在数据库的部门表里存的树形结构,在已知子部门时向上查找所有父级部门,写的函数如下 ``` CREATE FUNCTION queryAllDept(@currdeptid varchar(50)) returns varchar(200) BEGIN declare @allname varchar(200) DEFAULT ''; declare @tempname varchar(200) DEFAULT ''; declare @tempparid varchar(200) DEFAULT ''; select @allname=`name`,@tempparid=parid from ym_dept where id=@currdeptid; while(@tempparid <> '0') do select @tempname=`name`,@tempparid=parid from ym_dept where id=@tempparid; set @allname=CONCAT(@tempname,',',@allname); end while; RETURN @allname; END ``` 错误提示: [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@currdeptid varchar(50)) returns varchar(200) BEGIN declare @allname varchar' at line 1 请问大神哪里有问题了

mysql数据库设计问题,优化改进

现业务需求共有5张表 role(角色表)、tag(标签表)、role_tag(角色标签表)、file(文件表)、file_tag(标签文件表) 其中 角色和标签为多对多关系、文件与标签为多对多关系 标签表 为动态维护的树形结构 标签文件表大体结构:![图片说明](https://img-ask.csdn.net/upload/201912/31/1577773774_249056.jpg) 业务需求:根据选择的标签条件(多选)同时符合条件(and关系)筛选需要的文件 有没有什么好的设计方案,按照现在这种结构感觉很笨重。而且数据量大的情况下很慢。

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问