sql問題

[复制链接]
查看11 | 回复3 | 2005-7-16 18:49:11 | 显示全部楼层 |阅读模式
已有table資料
column1 - column2 - column3
-------------------------------------
A1 - B1 - C1
A1 - B1 - C2
A1 - B1 - C3
現想用sql抓為
column1 - column2 - column3
-------------------------------------
A1 - B1 - C1,C2,C3
這種形式﹐不知如何實現﹖
回复

使用道具 举报

千问 | 2005-7-16 18:49:11 | 显示全部楼层
create or replace function sum_string(v_sql varchar2)
return varchar2
/*

作者:[email protected]

博客:http://blog.itpub.net/xzh2000
*/
as
/* 声明动态游标变量 */

type cur_alldata is ref cursor;
l_alldata cur_alldata;
/* 查询sql及其变量 */

v_row varchar2(99);
v_sum varchar2(3999);
begin
open l_alldata for v_sql;
loop

fetch l_alldata into v_row;

/* 没有数据却退出 */

exit when l_alldata%notfound;


v_sum := v_sum||','||v_row;

end loop;
v_sum := substr(v_sum,2);
close l_alldata;

return v_sum;
end;

sql>select distinct col1,col2,sum_string('select column3 from test') from test;
回复

使用道具 举报

千问 | 2005-7-16 18:49:11 | 显示全部楼层
謝謝xzh2000,
用一function比較好解決﹐我想知道能不能直接用sql做到﹖
回复

使用道具 举报

千问 | 2005-7-16 18:49:11 | 显示全部楼层
http://www.itpub.net/showthread.php?s=&threadid=293596
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行