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 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这个只用上面表拼凑成这张表(不写函数),谢谢,请高手帮助!!!
上面空格地方可显示为空
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()去掉
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作为一个列
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
动态行列转换不用pl/sql可以吗?
期待好方法。
replace(WMSYS.WM_CONCAT(name||','||to_char(money)||','||to_char(result)), ',', ' ')
from table
group by fd_id, fd_name