gpt4 book ai didi

mysql - group_concat 问题 (mysql)

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

我在搞清楚如何使用 group_concat 来产生特定输出时遇到了一些麻烦。

这是我拥有的:2 个表:

第一个包含客户的信息,

第二个包含动物的信息 每个客户。

我必须产生这个输出:(我省略了边界,但基本上这是表格的一列)

Client: 25 Harris, Eddie
Animals: Koshka(cat),Gutsy(snake),Edger(snake),Fritz(cat),George(turtle),Big Mike(turtle)

这是我试过的:

select  group_concat ( distinct 
'Client: ', CL.cl_id, space(1),
CL.cl_name_last,', ',
CL.cl_name_first,'\n',
'Animals: ', AN.an_name, '(',
ifnull(AN.an_type, 'No Animals'), ')', '\n') as 'Client Info'
from p_vets.vt_clients CL
join p_vets.vt_animals AN using (cl_id)
group by CL.cl_id;

我得到以下输出(表格中的一小部分):

Client: 25 Harris, Eddie
Animals: Koshka(cat)
,Client: 25 Harris, Eddie
Animals: Gutsy(snake)
,Client: 25 Harris, Eddie
Animals: Edger(snake)
,Client: 25 Harris, Eddie
Animals: Fritz(cat)
,Client: 25 Harris, Eddie
Animals: George(turtle)
,Client: 25 Harris, Eddie
Animals: Big Mike(turtle)

我不明白如何将动物分组以显示在它们所属的每个客户下。

感谢您的帮助。

最佳答案

group_concat 应该只包含动物部分。

试试这个:

select  concat(
'Client: ', CL.cl_id, space(1), CL.cl_name_last,', ', CL.cl_name_first,'\n',
'Animals: ', group_concat(
concat( AN.an_name,'(',coalesce(AN.an_type, 'No Animals'),')')
)
)
from p_vets.vt_clients CL
join p_vets.vt_animals AN using (cl_id)
group by cl_id;

关于mysql - group_concat 问题 (mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954482/

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