网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Oracle合并多行记录为一行

1、实际需求情况如下:

创新互联服务项目包括江阴网站建设、江阴网站制作、江阴网页制作以及江阴网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,江阴网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到江阴省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  Oracle 合并多行记录为一行

描述:上述表中,某一位同学有多门课程和成绩,现在希望有一条SQL语句,将课程名称和成绩合并在一起显示,如下:

Oracle 合并多行记录为一行

描述:将这位同学的全部课程和成绩用一个字段表示,里面包括全部的课程名称和考试成绩


2、问题分析

解决这个问题可以采用创建function的办法,去合并这2个字段,但这样太麻烦,由于是采用的Oracle10g,故可以采用函数wmsys.wm_concat()实现此功能。

3、解决方案

SQL:

第一步先写一个视图view_ly_sjdxpt_jwcj,合并这2个字段

SQL代码:

createorreplaceviewview_ly_sjdxpt_jwcj as

select

xh hm,

kcmc||zscj as kc_cj

from dcuser.ly_xs_bzks_cjb b;

结果:

Oracle 合并多行记录为一行

第二步再写一个视图,使用wmsys.wm_concat()将KC_CJ字段合并

SQL代码:

createorreplaceviewview_ly_sjdxpt_jwcj_kz as
select hm,wmsys.wm_concat(kc_cj) as kccj from view_ly_sjdxpt_jwcj groupby hm;

结果:

Oracle 合并多行记录为一行

第三步代入实际需要的sql中使用即可:

SQL代码:

select distinct

'教务成绩' dxlb,

xh hm,

(select lxdh fromdcuser.LY_XS_BZKS_XSJBXX where xh=b.xh) sjhm,

to_char(sysdate,'yyyyMMddHH24miss') crsj,

xm||'同学您好,这个学期您各科成绩如下:'||c.kccj as nr,

'' bz,

''fssj

fromdcuser.ly_xs_bzks_cjb b

leftouterjoin DCUSER_KZ.VIEW_LY_SJDXPT_JWCJ_KZ c on b.xh=c.hm

结果:

Oracle 合并多行记录为一行



本文名称:Oracle合并多行记录为一行
文章地址:http://bjjierui.cn/article/jsspig.html

其他资讯