MySQL 表自连接,两次自连接查询
发布日期:2021-05-08 17:19:55 浏览次数:20 分类:精选文章

本文共 928 字,大约阅读时间需要 3 分钟。

为了实现分类表数据的导出,我们需要使用数据库中的自连接查询技巧。以下是详细的操作步骤:

  • 数据库结构

    数据库中包含三级分类,结构如下:

    • 一级分类(Category):记录id、名称
    • 二级分类(SubCategory):记录id、名称、父级id
    • 三级分类(SubSubCategory):记录id、名称、父级id
  • 查询逻辑

    为实现三级分类的数据关联,需要使用两次自连接查询。

    • 第一次查询:获取三级分类及其直接子级(二级分类)。
    • 第二次查询:将二级分类的结果与一级分类关联,完成完整的分类树结构。
  • 具体查询语句

    SELECT  
    c1.id AS 一级分类id,
    c1.name AS 一级分类名称,
    temp.c2id AS 二级分类id,
    temp.c2name AS 二级分类名称,
    temp.c3id AS 三级分类id,
    temp.c3name AS 三级分类名称
    FROM
    Category c1
    RIGHT JOIN
    (
    SELECT
    c3.id AS c3id,
    c3.name AS c3name,
    c2.id AS c2id,
    c2.name AS c2name,
    c2.parent_Id AS parent_id
    FROM
    Category c2
    RIGHT JOIN
    Category c3 ON c2.id = c3.parent_id
    WHERE
    c3.level = 3
    ) AS temp ON c1.id = temp.parent_id
  • 数据导出

    运行上述查询后,将结果复制到Excel中即可。

    • 将查询结果中的数据完全选中,按Ctrl+C复制。
    • 在Excel中按Ctrl+V粘贴,数据将直接出现在表格中。
  • 注意事项

    • 确保数据库中已存在上述分类表结构。
    • 可根据实际需求调整字段名称和表结构。
    • 建议对查询结果进行数据清洗,确保无重复或异常数据。
  • 通过以上步骤,可以便捷地将多级分类数据导出至Excel,满足数据分析需求。

    上一篇:(五)写一个star组件,状态包括全亮、半亮、不亮3个状态
    下一篇:在Vue中span标签的背景图是根据后台返回的数据动态显示的图片

    发表评论

    最新留言

    路过按个爪印,很不错,赞一个!
    [***.219.124.196]2025年05月25日 23时06分59秒