日期:2014-05-17  浏览次数:20843 次

急求这个怎么写sql?
A表:

id a1 a2
1 …… ……
2 …… ……
3 …… ……
…… …… ……

B表:

id b1
1 手机
1 笔记本
2 手机
3 手机
3 笔记本
3 平板
…… ……


其中A,B以id关联。
要得到:

id a1 a2 b1
1 …… …… 手机,笔记本
2 …… …… 手机
3 …… …… 手机,笔记本,平板
…… …… …… ……

求简单的方法实现,最好一句sql,就是把B表中的id对应的b1全部放在一个单元格里。

求大神。

------解决方案--------------------
select a.id ,wm_concat(b.b1) 
  from a
  left join b
    on a.id = b.id
  group by a.id;

------解决方案--------------------
with a as(select id from A),
     b as (select id,wm_concat(b1) w from B group by id)
     select distinct(a.id) id,b.w w from a left join b on a.id=b.id