我真的不知道标题应该是什么,但问题就在这里 我有2张桌子(实际上更多)
table a table b
id (pk)| country id(fk)| Branch
------ | ------ ------|--------
01 | Indonesia 01 | Jakarta
01 | Bali
如果我做select * from a,b where a.id=b.id
结果将是
id | Country |Branch
01 | Indonesia|Jakarta
01 | Indonesia|Bali
我希望结果如下所示
id | Country | Branch
01 | Indonesia | Jakarta,Bali
有可能吗? 我真的不想做研究(我的意思是搜索)因为我不知道应该搜索什么关键字
答案 0 :(得分:0)
使用MySQL时,GROUP_CONCAT是您正在寻找的功能。
像上面的请求中那样设置表格:
create table a (
`id` int(15) auto_increment primary key,
`country` varchar(200)
);
create table b (
`id` int(15) not null,
`branch` varchar(200),
foreign key(`id`) references a(`id`)
);
insert into a values (1, 'Indonesia');
insert into b values (1, 'Jakarta');
insert into b values (1, 'Bali');
执行查询:
select a.id,
a.country,
group_concat(distinct b.branch) as 'branch'
from a
left join b on a.id=b.id;
输出:
| id | country | branch |
|----|-----------|--------------|
| 1 | Indonesia | Jakarta,Bali |