gpt4 book ai didi

mysql - sql 双内连接 : using group_concat gives empty result set

转载 作者:行者123 更新时间:2023-11-29 03:06:25 25 4
gpt4 key购买 nike

我有一个表 education 包含一个人的 id 和一个教育水平的 id,都是外键。我想对结果进行分组,以便每个人的记录都是单一的,包含所有教育水平的列表,因此它返回 Jane Doe: master, master

select 
concat(person.name_first," ",person.name_last) as name,
group_concat(person_studylevel.description)
from `person_education`
left join person_studylevel on level = person_studylevel.id
left join person on junior = person.id

这一直有效,直到我添加了 group_concat(),然后它返回一个空结果集

我试过将结果用作子查询,但效果不佳

表结构:

person_education: id(int10), junior(int10), level(int10)
person_studylevel: id(int10), description(varchar100)
person: id(int10), name_first(varchar255), name_last(varchar255)

最佳答案

请检查这个,如果你想按每个人分组,然后把那个表作为左边的第一个:

查询:

select 
concat(p.name_first," ",p.name_last) as name,
group_concat(ps.description)
from person p
left join person_education pe
on p.id = pe.junior
left join person_studylevel ps
on pe.level = ps.id
group by p.id
;

| NAME | GROUP_CONCAT(PS.DESCRIPTION) |
---------------------------------------
| j k | degree,masters |
| a g | diploma,degree |
| b h | cert |
| c i | (null) |
| d m | (null) |

关于mysql - sql 双内连接 : using group_concat gives empty result set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14476906/

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