2个表
表1:
Class_id Class_name
1 1班
2 2班
3 3班
....
表2
Stu_id Stu_name Class_id
101 狗剩1 1
102 狗剩2 1
103 狗剩3 1
...
201 2柱子1 2
202 2柱子2 2
203 2柱子3 2
....
--------------------------------
变成表3
Class_ID Stu_list
1 狗剩1,狗剩2,狗剩3....
2 2柱子1 ,2柱子2 ,2柱子3 ...
...
表1:
Class_id Class_name
1 1班
2 2班
3 3班
....
表2
Stu_id Stu_name Class_id
101 狗剩1 1
102 狗剩2 1
103 狗剩3 1
...
201 2柱子1 2
202 2柱子2 2
203 2柱子3 2
....
--------------------------------
变成表3
Class_ID Stu_list
1 狗剩1,狗剩2,狗剩3....
2 2柱子1 ,2柱子2 ,2柱子3 ...
...
解决方案 »
- 64位系统的pl/sql无法链接数据库,跪求64位的客户端工具
- 求一条SQL语句
- 求SQL 语句一条, 来拿分吧!!!!!!!!!!!!
- TNS 的全称是什么?
- 建一个ORACLE测试系统数据库
- 在Oracle 9i2中,不能用Oracle Enterprise Manager Console打开数据库,为何?(内详)
- 请给一个按月份统计的Oracle存储过程的例子,马上结贴!
- 关于nls的,请帮忙解答
- 请问:SELECT MM_DEAL.CAN_REJ_DTE AS CANCEL_DTE, MM_DEAL.CAN_AUTH_DTE AS CANCEL_DTE, 为何不能用Order by CANCEL_DTE
- 关于rman 非归档模式下备份,有试过的么,求大神指点
- 存储过程中不能建立临时表吗?
- 关于 group by 的问题!
insert into t22 values('101','狗剩1','1');
insert into t22 values('102','狗剩2','1');
insert into t22 values('103','狗剩3','1');
insert into t22 values('201','2柱子1','2');
insert into t22 values('202','2柱子2 ','2');
insert into t22 values('203','2柱子3 ','2');
commit;
------------------oracle 9i -------------------------------------------------
SELECT Class_id, LTRIM(MAX(SYS_CONNECT_BY_PATH(Stu_name, ',')), ',') Stu_name
FROM (SELECT Class_id,
Stu_name,
MIN(Stu_name) OVER(PARTITION BY Class_id) Stu_name_MIN,
(ROW_NUMBER() OVER(ORDER BY Class_id, Stu_name)) +
(DENSE_RANK() OVER(ORDER BY Class_id)) NUMID
FROM T22)
START WITH Stu_name = Stu_name_MIN
CONNECT BY NUMID - 1 = PRIOR NUMID
GROUP BY Class_id;------------------oracle 10G ---------------------------------
select Class_id, wmsys.wm_concat(Stu_name)
from t22
group by Class_id
------------------执行结果如下---------------------------------
1 1 狗剩1,狗剩2,狗剩3
2 2 2柱子1,2柱子2 ,2柱子3