日期:2014-05-17  浏览次数:20852 次

求一条sql语句,在线等答案!
有一个待遇表dy01,结构是:个人编号(grbh),待遇类别(dylb),待遇金额(dyje),备注(bz)等
一个人可以有多条待遇记录,主键为grbh、dylb,备注为varchar2的,金额都为数字型
现需写一条语句按个人汇总他的待遇信息,本来很简单,但是还要把备注汇总进去,关键就是如何把这个备注也汇总起来?(数字用sum,但varchar2呢?)语句是要这种格式的:
select   grbh,
sum(dyje)   dyje,
...
from   dy01
group   by   grbh;
请大侠赐教!

------解决方案--------------------
select grbh,sum(dyje) dyje,max(sys_connect_by_path(bz,level || '. ')) bz
from (select grbh,dylb,dyje,bz,row_number() over(partition by grgh,dylb order by grgh,dylb) num
from dy01)
start with grbh in (select distinct grbh from dy01)
connect by num = prior num + 1 and grbh = prior grbh
group by grbh

试一下这个,本人有点懒,没有测。如果你有数据,不妨贴上来用一下。
------解决方案--------------------
http://www.oracle.com.cn/archiver/tid-120728.html,第二种方法可能比较适合你
我的异常网推荐解决方案:软件开发者薪资,http://www.aiyiweb.com/other/1391128.html