ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle中怎么实现多行转列

oracle中怎么实现多行转列

原创 Linux操作系统 作者:wengjie_0627 时间:2011-09-20 13:08:54 0 删除 编辑

select t.rank, t.Name from t_menu_item t;

    10 CLARK
    10 KING
    10 MILLER
    20 ADAMS
    20 FORD
    20 JONES
    20 SCOTT
    20 SMITH
    30 ALLEN
    30 BLAKE
    30 JAMES
    30 MARTIN
    30 TURNER
    30 WARD

--------------------------------
我们通过 10g 所提供的 WMSYS.WM_CONCAT 函数即可以完成 行转列的效果

    select t.rank, WMSYS.WM_CONCAT(t.Name) name From t_menu_item t GROUP BY t.rank;

RANK NAME

------ ----------
    10 CLARK, KING, MILLER
    20 ADAMS, FORD, JONES, SCOTT, SMITH
    30 ALLEN, BLAKE, JAMES, MARTIN, TURNER, WARD

实现的效果是:会先按rank分组,将分组后的name以“,”按组合并为一列。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24984814/viewspace-707940/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 两表连接语法
请登录后发表评论 登录
全部评论

注册时间:2011-05-19

  • 博文量
    50
  • 访问量
    30799