You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于parent_id查询多级分类并输出为三级分类列格式?

假设你的分类表名为category,可通过三次自关联实现需求,兼容MySQL、PostgreSQL、SQL Server等绝大多数主流数据库:

SELECT 
    c1.name AS category1,
    c2.name AS category2,
    c3.name AS category3
FROM category c1
LEFT JOIN category c2 ON c2.parent_id = c1.id_category
LEFT JOIN category c3 ON c3.parent_id = c2.id_category
WHERE c1.parent_id = 1

逻辑说明

  • 先从c1表过滤出所有一级分类:父id等于根节点root的id=1,自动排除root节点
  • 用左连接关联二级分类表c2,无对应二级分类时返回null
  • 再用左连接关联三级分类表c3,无对应三级分类时返回null

如果你的根节点id不固定,可将WHERE条件调整为下面的写法,通过属性匹配根节点:

WHERE c1.parent_id = (SELECT id_category FROM category WHERE name = 'root' AND parent_id = id_category)

内容的提问来源于stack exchange,提问作者dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:15:00