有一个分类表,可以有三个等级的分类,一级分类下会有二级分类,二级分类会有三级分类,表结构如下所示。
现在有个一次性需求,需要将所有的分类按照如下格式保存到excel,这肯定需要表进行自连接查询,还需要连接两次:
一级分类id | 一级分类名称 | 二级分类id | 二级分类名称 | 三级分类id | 三级分类名称 |
模拟数据如下所示:
查询SQL 如下所示:
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 ,只需要全选查询出来的数据,复制,粘贴到表格中即可。