[英]group_concat question (mysql)
我在弄清楚如何使用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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.