假设我们有一个表格叫做tree,包含了以下字段:

  • id:自增长的唯一标识符
  • parent_id:当前节点的父节点的id,如果该节点是根节点,则为0

我们需要通过父id获取所有子id,可以使用以下sql语句:

SELECT id
FROM tree
WHERE parent_id IN (
  SELECT id
  FROM tree
  WHERE parent_id = {parent_id}
)
UNION
SELECT id
FROM tree
WHERE parent_id = {parent_id};

这个查询语句使用了一个子查询,首先找到所有父节点为指定parent_id的节点,然后再找到这些节点的所有子节点。最后,使用UNION操作符将两个结果集合并起来,得到所有子节点的id。

写一段mysql支持的sql,能够通过父id 获取所有子id 不用with语句 多层结构

原文地址: https://www.cveoy.top/t/topic/wPD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录