m0_56789428 2023-07-06 09:56 采纳率: 94.9%
浏览 26
已结题

mysql递归查询节点下所有子节点

数据表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

  • 写回答

3条回答 默认 最新

  • m0_56789428 2023-07-06 11:54
    关注
    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)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月14日
  • 已采纳回答 7月6日
  • 修改了问题 7月6日
  • 创建了问题 7月6日