急求这个怎么写sql?

ryx789106 2013-02-22 11:08:17
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全部放在一个单元格里。

求大神。
...全文
288 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈字文 2013-03-04
  • 打赏
  • 举报
回复

WITH t AS(
 SELECT 1 AS ID,'笔记本' AS b1 FROM dual UNION ALL
 SELECT 1 ,'手机' FROM DUAL UNION ALL
 SELECT 2,'手机' FROM DUAL UNION ALL
 SELECT 2,'手机' FROM DUAL UNION ALL
 SELECT 3,'笔记本' FROM DUAL UNION ALL
 SELECT 3,'平板' FROM DUAL UNION ALL
 SELECT 3,'手机' FROM DUAL
)

SELECT T.ID,WMSYS.WM_CONCAT(DISTINCT T.B1) FROM T GROUP BY ID;

善若止水 2013-03-04
  • 打赏
  • 举报
回复
引用 1 楼 luochaofeng520 的回复:
SQL code?12345select a.id ,wm_concat(b.b1) from a left join b on a.id = b.id group by a.id;
真的很好,wm_concat函数
qazjklldo 2013-03-02
  • 打赏
  • 举报
回复

select a.id,a.a1,a.a2,b.b1 from a join b on a.id = b.id
飘飘哥 2013-02-25
  • 打赏
  • 举报
回复
引用 1 楼 luochaofeng520 的回复:
SQL code?12345select a.id ,wm_concat(b.b1) from a left join b on a.id = b.id group by a.id;
似梦飞花 2013-02-24
  • 打赏
  • 举报
回复
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
没_没_没超疯 2013-02-22
  • 打赏
  • 举报
回复
select a.id ,wm_concat(b.b1) 
  from a
  left join b
    on a.id = b.id
  group by a.id;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧