http://www.itpub.net/856364.html在这里看到的,以后会用到,所以记录下来。。。。
请教一条SQL
NAME USERID
张三 KB001
张三 KB002
李四 KB001
李四 KB002
李四 KB003
我想用SQL实现表示如下:
NAME USERID
张三 KB001,KB002
李四 KB001,KB002,KB003
select cola,rtrim(
max(decode(colb,'KB001',colb||',',null))||
max(decode(colb,'KB002',colb||',',null))||
max(decode(colb,'KB003',colb||',',null)),',')
from test
group by cola
/
COLA RTRIM(MAX(DECODE(COLB,'KB001',COL
---------- ---------------------------------
李四 KB001,KB002,KB003
张三 KB001,KB002
描述TRIM
TRIM()没有以下的功能
RTRIM(',XXX,',',') 这样就可以去掉XXX,后面的逗号 得到的结果是,xxx
LTRIM(',XXX,',',') 这样就可以去掉XXX,前边的逗号 得到的结果是xxx,