数据表organ 主键id 名称name 父级id parent_uuid,类型object_type
查询父级id下所有数据
用了网上的方法 并不能得到,应该怎么写?
select id from (
select t1.id,
if(find_in_set(parent_uuid, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild
from (
select id,parent_uuid from organ t where t.object_type = '设备'
) t1,
(select @pids := '11111' id) t2
) t3
where ischild != 0
SELECT au.id
FROM (SELECT * FROM organ WHERE parent_uuid IS NOT NULL) au,
(SELECT @pid := '11111') pd
WHERE FIND_IN_SET(parent_uuid, @pid) > 0
AND @pid := concat(@pid, ',', id)
可以参考下这个 http://t.csdn.cn/dPA4V
不知道你这个问题是否已经解决, 如果还没有解决的话:根据参考资料中的方法,你可以使用以下的查询语句来查询特定父级id下的所有子节点:
SELECT t1.id, t1.name, t1.parent_uuid, t1.object_type
FROM organ AS t1
JOIN organ AS t2 ON t2.parent_uuid = t1.id
WHERE t1.parent_uuid = '特定父级id';
这个查询语句使用了自连接来获取特定父级id下的所有子节点。首先,我们将表格自连接两次,然后使用JOIN和WHERE子句来筛选出特定父级id的记录。
注意替换查询语句中的"organ"为你的表名,将"特定父级id"替换为你要查询的具体父级id。
希望这个解决方案能够帮助你解决问题,如果还有其他疑问,请随时提问。