这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;人们面前有着各样事物,人们面前一无所有;人们正在直登天堂;人们正在直下地狱。 我也要与时俱进了,被itpub2.0牵着尾巴,拼命的奔跑,不停的灌水...

关于Oracle自定义分组函数

上一篇 / 下一篇  2008-02-13 17:30:03 / 个人分类:数据库专区

项目内需要解决主表a和明细表b的连接问题,要求将b表中的不同列部分进行合并起来;其实也是网上搜出来的解决办法,:),只要自己理解了就成为自己的知识了,:)ITPUB个人空间)bZji J3S

Create Table wbq_test (a varchar2(10),b int);
-tp R(oQjL @0Insert Into wbq_test values ('aa',1);
$Z!\{Gy3Fb]0Insert Into wbq_test values ('bb',1);ITPUB个人空间t7aR:^0j.v/n O+v
Insert Into wbq_test values ('cc',1);
E'Aa.Z%{t H5u0Insert Into wbq_test values ('dd',2);ITPUB个人空间(g!} nTmf)`
Insert Into wbq_test values ('ee',2);ITPUB个人空间+wRD {{g$s
Insert Into wbq_test values ('ff',3);ITPUB个人空间v oe+_f9S,@m
Insert Into wbq_test values ('gg',3);ITPUB个人空间I I*{B2C&O&k[1I/S
Insert Into wbq_test values ('hh',3);
%S-L;IsYl$Z0Commit;
c(dt x-g%D0select * from wbq_test;

create or replace function f_GroupByColumn(GroupColumnValue in Varchar2)
gD2[/R1x C0return varchar2 is
!Wv J2n0@~5M0type cur_type is ref cursor;ITPUB个人空间'u3U:G9Zz Z
myCur cur_type;ITPUB个人空间,Rc b l?p.}xe"O!B
v_Column1Value varchar2(20);
*yAI a4f8Cg*ddX0v_Result varchar2(2000);ITPUB个人空间6C%el| Y0k^
begin
&_V't7E@8s4d|7b"B[#[0Open myCur for Select a from wbq_test where b=GroupColumnValue;ITPUB个人空间$F t MC4f"J3y
LoopITPUB个人空间ee'c4Y8xa
Fetch myCur Into v_Column1Value;ITPUB个人空间9R$rbug9BTO
Exit When myCur%notfound;
7E| j+sJ&V0v_Result:=v_Result||v_Column1Value||',';
L;n R,j+H z!O@I-P$re0End Loop;
+uc,j S7Td"Z(D0Close myCur;ITPUB个人空间^.PP!x$Z d%U
return(v_Result); ITPUB个人空间 a^^ |R^/v6\;W*b
end ;

select b,f_GroupByColumn(b) from wbq_test group by b;


TAG:

阿黄的个人空间 引用 删除 hwl79   /   2008-06-30 17:16:34
-5
引用 删除 Guest   /   2008-06-30 11:22:24
-3
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-26  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 18920
  • 日志数: 64
  • 建立时间: 2007-12-07
  • 更新时间: 2008-07-24

RSS订阅

Open Toolbar