分享更有价值
被信任是一种快乐

SQL行转列合并的语句

文章页正文上

这篇文章主要讲解了“SQL行转列合并的语句”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和免费主机域名学习“SQL行转列合并的语句”吧!

SQL> create table test(id number,name varchar2(20));
SQL> insert into test values(1,’a’);
SQL> insert into test values(1,’b’);
SQL> insert into test values(1,’c’);
SQL> insert into test values(2,’d’);
SQL> insert into test values(2,’e’);

SQL> commit;

效果1 : 行转列
SQL> select wm_concat(name) from test;
WM_CONCAT(NAME)
————————————————————————-
a,b,c,d,e

效果2: 把结果里的逗号替换成”|”
SQL> select replace(wm_concat(name),’,’,’|’) from test;
REPLACE(WM_CONCAT(NAME),’,’,’|’)
———————————————————————–
a|b|c|d|e

效果3:按ID分组合并name
SQL> select id,wm_concat(name) name from test group by id;
ID NAME
———- ——————————
1 a,b,c
2 d,e

懒人扩展用法:
案例:我要写一个视图,类似”create or replace view as select 字段1,…字段50 from tablename” ,基表有50多个字段,要是靠手工写太麻烦了,有没有什么简便的方法? 当然有了,看我如果应用wm_concat来让这个需求变简单
SQL> select ‘create or replace view as select ‘|| wm_concat(column_name) || ‘ from dept’from user_tab_columns where table_name=’DEPT’;
‘CREATEORREPLACEVIEWASSELECT’||WM_CONCAT(COLUMN_NAME)||’FROMDEPT’
———————-免费主机域名———————————————————-
create or replace view as select DEPTNO,DNAME,LOC from dept

感谢各位的阅读,以上就是“SQL行转列合并的语句”的内容了,经过本文的学习后,相信大家对SQL行转列合并的语句这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: Oracle的体系结构和物理、逻辑存储结构介绍

本篇内容主要讲解“Oracle的体系结构和物理、逻辑存储结构介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的体系结构和物理、逻辑存储结构介绍”吧!说到Oracle,Oracle是什么呢?接触过Mys…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册