sql 查询 select 来自多个 table 的组合 select

sql query select combined select from multiple table

我真的不知道标题应该是什么,但问题在这里 我有2个table(其实更多)

 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

可能吗? 我并没有真正尝试做研究(我的意思是搜索),因为我不知道我应该搜索什么关键字

当使用 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 |