当前位置: 代码迷 >> Oracle认证考试 >> 怎么在同一行中把同个字段的所有内容显现出来
  详细解决方案

怎么在同一行中把同个字段的所有内容显现出来

热度:4568   发布时间:2013-02-26 00:00:00.0
如何在同一行中把同个字段的所有内容显现出来
如何把同一个字段的内容在同一行一次性显示出来,比如在学生选课表中按照课程名顺序显示各个学生选修的课程
(如 200506 数据库 数据结构 数学)
起别名好像很麻烦而且很难实现
------解决方案--------------------------------------------------------
如果是10g以上,可以用 wm_concat 函数
------解决方案--------------------------------------------------------
要这效果?

create table t1 (stu varchar2(20),tp varchar2(20));
insert into t1 values ('200506','数据库');
insert into t1 values ('200506','数据结构');
insert into t1 values ('200506','数学');
insert into t1 values ('200507','语文');
insert into t1 values ('200507','数学');
insert into t1 values ('200507','政治');
insert into t1 values ('200508','语文');
insert into t1 values ('200508','英语');

select stu,wm_concat(tp) tp
from t1
group by stu


     stu     tp
---------------------------------
1 200506 数据库,数据结构,数学
2 200507 语文,数学,政治
3 200508 语文,英语



------解决方案--------------------------------------------------------
vm_contact的具体意思能否解释下

------解决方案--------------------------------------------------------
如果在sererve 2005中又如何实现
  相关解决方案