1
特定の出力を生成するためにgroup_concatを使用する方法を理解するのに苦労します。 2つのテーブル::group_concat質問(mysql)
第一は、クライアントが含まの情報を、動物含ま
第二 各クライアントの情報をここで
は私が持っているものです。
私はこの出力を生成する必要があります(私は境界線を省略しますが、基本的にこれは、テーブルの1列である)
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)
私は動物をグループ化する方法を理解していません彼らが所属する各顧客の下に託されています。
ありがとうございました。
ありがとうございました! :)もう1つの質問ですが、私がテーブルに参加したままにして、クライアントの1人が動物が合体しないと表示されます(AN.an_type、 'No Animals') 'はまだ動作しますか?それは、動物のないすべてのエントリーに対して私に平易な「NULL」を与えます。 – notrockstar
@notrockstar 'GROUP_CONCAT'を別の' COALESCE() 'で囲みます。 –
ここでは合体していますが、ここではちょっと離れているようです - 動物が名前を持ち、型がない場合をキャッチします。動物がいない場合には、group_concatの外側に合体が必要です。 – awm