gpt4 book ai didi

mysql - 树结构 - 从两个表中获取最后一级数据

转载 作者:行者123 更新时间:2023-11-29 14:05:15 29 4
gpt4 key购买 nike

我的数据结构如下。

A
A1 A2

B B1

C C1 C2 C3

这些信息转移到两个名为group1group2的表中。

group1有第一层数据和中间层数据。

group2 具有最后一级数据和中级数据。

组1

 group_name    group_id
A 1
A1 2
B 3
C 4
C1 5
C2 6

组2

 group2_name   parent_id
A1 1
A2 2
B 1
B1 3
C 1
C1 4
C2 5
C3 6

现在我想获取A组下的最后一级信息。

我的输出可能是

group2_name
A2
B1
C3

我可以使用下面的查询获取信息级别 2。

select group2.group_name from group2 
inner join
group1 on group1.group_id = group2.parent_id
where group1.group_name = 'A'

如何得到上面的输出?

这里是SQLFIDDLE Demo

请帮助我。

最佳答案

你可以使用这个:

select
group2.group_name
from
group2 left join group1
using(group_name)
where
group1.group_name is null
and group2.group_name like 'A%'

返回表 group2 中不存在于表 group1 中的所有元素。或者(取决于您的数据库的结构)也是这样的:

select
concat(left(group_name,1),
case when max(mid(group_name,2,length(group_name)-1)+0)>0 then
max(mid(group_name,2,length(group_name)-1)+0)
else '' end)
from group2
where group2.group_name like 'A%'
group by left(group_name,1)

这里我对字符串的第一个字符进行分组,并获取数值的最大值。

关于mysql - 树结构 - 从两个表中获取最后一级数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14478663/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com