任何人都可以帮我这个吗? 我正在查询2个表,country_table和由country_id链接的language_table。
country_table:
country_id continent country
100 asia china
101 asia japan
102 europe UK
103 europe germany
language_table:
country_id language_id language
100 01 mandarin
100 02 cantonese
102 03 english
102 04 french
102 05 welsh
我想要达到的目的是显示所有有或没有语言的国家/地区。如果它有语言,它应该像下面的示例输出一样连接。
continent country language
asia china mandarin, cantonese
asia japan ----
europe UK english, french, welsh
europe germany ----
答案 0 :(得分:4)
您可以使用GROUP_CONCAT()
功能执行以下操作:
select c.continent,
c.country,
group_concat(case
when l.language is null
then '----' else l.language end order by l.language) language
from country_table c
left join language_table l
on c.country_id = l.country_id
group by c.continent, c.country
答案 1 :(得分:0)
你需要做这样的事情。
SELECT ct.continent, ct.country, GROUP_CONCAT(lt.language)
FROM country_table ct
LEFT JOIN language_tabel lt USING(country_id)
GROUP BY ct.country