DB2行列转换

在DB2数据库中常用函数讲db2行列转换
SELECT COLUMN1,replace(replace(xml2clob(xmlagg(xmlelement(NAME   A,COLUMN2|| ';'))),'<A>',''),'</A>','') AS NAME1
FORM TABLENAME
WHERE 1>0
GROUP BY COLUMN1

将不需要行列转换的字段分组。讲需要转换的字段,使用函数替换COLUMN2
并且使用 ; 分割
如  a   b   c
    1   2   3 
    1   2   4
    2   3   2
    2   3   5
SELECT a,b ,replace(replace(xml2clob(xmlagg(xmlelement(NAME   A,c|| '@'))),'<A>',''),'</A>','') AS NAME1
FORM TABLENAME
WHERE 1>0
GROUP BY a,b

将会得到两行数据
a b  NAME1
1 2   3@4@
2 3   2@5@


你可能感兴趣的:(db2)