欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle列转行的有关问题

更新时间: 2014-01-05 02:10:51 责任编辑: Author_N1

 

oracle列转行的问题
编号 内容1 内容2
1    aa    aa1
1    bb    bb1
2    az    az1
2     sx    sx1

转成

1  aa aa1  bb  bb1
2  az  az1 sx  sx1
--参考方法--
WITH TEST AS (
SELECT '1' AS BH,'AA' AS NR1,'AA1' AS NR2 FROM DUAL
UNION
SELECT '1' AS BH,'BB' AS NR1,'BB1' AS NR2 FROM DUAL
UNION
SELECT '2' AS BH,'AZ' AS NR1,'AZ1' AS NR2 FROM DUAL
UNION
SELECT '2' AS BH,'SX' AS NR1,'SX1' AS NR2 FROM DUAL
)
SELECT BH,
       MAX(DECODE(ROWNO, 1, NR1, ' ')),
       MAX(DECODE(ROWNO, 1, NR2, ' ')),
       MAX(DECODE(ROWNO, 2, NR1, ' ')),
       MAX(DECODE(ROWNO, 2, NR2, ' '))
  FROM (SELECT ROW_NUMBER() OVER(PARTITION BY BH ORDER BY BH) AS ROWNO, BH,NR1,NR2
          FROM TEST)
 GROUP BY BH
--参考方法--
深奥  什么规律? 是固定的字符串和列?
--参考方法--
楼主说清楚点,aa aa1 bb bb1一个列的值还是四个列的值?
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:10:51
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6623/
本文WWW.DOC100.NET DOC100.NET版权所有。