joozh 发表于 2016-11-13 06:28:42

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 bNAME1
1 2   3@4@
2 3   2@5@
页: [1]
查看完整版本: DB2行列转换