select 200 gongzi,ltrim(sys_connect_by_path(name,','),',')
(select name,rownum rn
from tablename
where gongzi=200)
start with rn=1
connect by prior rn=rn-1

解决方案 »

  1.   

    楼上的语句能用的话,恐怕也只能在oracle里试试吧,建议select 姓名 from table where 工资=200,然后将返回结果集中的姓名连接成String,又快又有通用性。
      

  2.   

    其实写掉了MAX了。呵呵,不好意思。
    应该是:select 200 gongzi,max(ltrim(sys_connect_by_path(name,','),','))
    (select name,rownum rn
    from tablename
    where gongzi=200)
    start with rn=1
    connect by prior rn=rn-1
      

  3.   

    sbaz(万神渡劫) 
    的语句能用的
    但查出来的是多条记录哦再加点语句就行了
    select max(zhuhename) 
    from
       (select 200 gongzi,ltrim(sys_connect_by_path(name,','),',') zhuhename
        (select name,rownum rn
        from tablename
        where gongzi=200)
        start with rn=1
        connect by prior rn=rn-1)
    那样查出来的就是最后全部合并名字的字符串
      

  4.   

    select 工资,max(ltrim(sys_connect_by_path(name,','),',')) zhuhename
    from (
    select 人员姓名,工资,row_number over(partition by 工资 order by 人员编号) rn
        from tablename
    )
    start with rn = 1
    connect by prior rn = rn + 1
               and prior 工资 = 工资
    group by 工资
    ==============
    这样写可以按照工资将相同工资的人名连在一起。呵呵,算是做一个扩充吧。