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 |
我真的不知道标题应该是什么,但问题在这里 我有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 |