如下,我在数据库里查出了一列值,
[align=center]creator(字段名)
zhangsan
lisi
wangwu[/align]
我想把查出来的这三个值通过sql语句转换为 zhangsan,lisi,wangwu 这样一个字段的形式,不知道行不行,请各位高手赐教,谢谢!
[align=center]creator(字段名)
zhangsan
lisi
wangwu[/align]
我想把查出来的这三个值通过sql语句转换为 zhangsan,lisi,wangwu 这样一个字段的形式,不知道行不行,请各位高手赐教,谢谢!
Oracle 行列转换
http://blog.csdn.net/tianlesoftware/archive/2009/10/20/4704858.aspxSQL> select * from t_row_str; ID COL
---------- ----------
1 a
1 b
1 c
3 c
2 d
2 a
2 d已选择7行。SQL> SELECT id,
2 MAX(decode(rn, 1, col, NULL)) ||
3 MAX(decode(rn, 2, ',' || col, NULL)) ||
4 MAX(decode(rn, 3, ',' || col, NULL)) str
5 FROM (SELECT id,
6 col,
7 row_number() over(PARTITION BY id ORDER BY col) AS rn
8 FROM t_row_str) t
9 GROUP BY id
10 ORDER BY 1; ID STR
---------- --------------------------------
1 a,b,c
2 a,d,d
3 c
up.5.wmsys.wm_concat: 适用范围:10g及以后版本
这个函数预定义按','分隔字符串,若要用其他符号分隔可以用,replace将','替换。SELECT REPLACE(wmsys.wm_concat(col), ',', ',') FROM t_row_str;