id  fd_id  fd_name  name  money   result
------------------------------
1     001   zh1      a1    34       1
2     001   zh1      a2    24       0
3     001   zh1      a3    40       0
4     002   zh2      a4    45       0
5     002   zh2      a5    67       1
6     003   zh3      a6    80       1
7     004   zh4      a7    90       1------------------------------------现在要在要把这张表拼成
001  zh1  a1    34   1  a2    24   0   a3    40    0
002  zh2  a4    45   0  a5    67   1
003  zh3  a6    80   1
004  zh4  a7    90   1这个只用上面表拼凑成这张表(不写函数),谢谢,请高手帮助!!!
上面空格地方可显示为空 

解决方案 »

  1.   

    select fd_id, fd_name, 
           replace(WMSYS.WM_CONCAT(name||','||to_char(money)||','||to_char(result)), ',', ' ')
    from table
    group by fd_id, fd_name假设你的money, result是int的, 如果是string那就把to_char()去掉
      

  2.   

    现在要在要把这张表拼成 
    001  zh1  a1    34  1  a2    24  0  a3    40    0 
    002  zh2  a4    45  0  a5    67  1 
    003  zh3  a6    80  1 
    004  zh4  a7    90  1 
    列数发生变化?
    还是后面a1    34  1  a2    24  0  a3    40    0作为一个列
      

  3.   

    select fd_id,fd_name,
      max(decode(dk,1,name))"1-1",
      max(decode(dk,1,money))"1-2",
      max(decode(dk,1,result))"1-3",
      max(decode(dk,2,name))"2-1",
      max(decode(dk,2,money))"2-2",
      max(decode(dk,2,result))"2-3"
    from (
      select fd_id,fd_name,dense_rank()over(partition by fd_id order by name)dk
      from table1)
    group by fd_id,fd_name
      

  4.   

    感觉楼上的还是不通用。
    动态行列转换不用pl/sql可以吗?
    期待好方法。
      

  5.   

    select fd_id, fd_name, 
          replace(WMSYS.WM_CONCAT(name||','||to_char(money)||','||to_char(result)), ',', ' ') 
    from table 
    group by fd_id, fd_name