论坛首页 海阔天空版

Oracle函数实现不固定列转换

浏览 75 次
该帖已经被评为隐藏帖
作者 正文
时间:2008-03-11 关键字: oracle学习总结
这个语句怎么写呀:

序号 ID NAME
1 1 我
2 1 是
3 2 谁
4 2 你
5 2 知
6 3 道
7 3 吗
8 4 我
9 4 是
10 4 姜
11 4 志
12 4 华


要输出为:

序号 ID NAME
1 1 我是
2 2 谁你知
3 3 道吗
4 4 我是姜志华


开始问了很多朋友,有些给我的太过于复杂,所以我就想自己写个简单的


这个是我写的Oracle函数方法
CREATE OR REPLACE FUNCTION GetAllResult(column NUMBER)
RETURN VARCHAR2
IS
temp VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT name FROM TTEST WHERE id=column) LOOP
temp:= temp||cur.name;
END LOOP;
temp:= rtrim(temp,1);
RETURN temp;
END;

select distinct id, GetAllResult(id) from ttest

1 1 我是
2 2 谁你知
3 3 道吗
4 4 我是姜志华
   
论坛首页 海阔天空版

跳转论坛:
JavaEye推荐