oracle-listagg()函数实现列转行
来源:互联网 发布:2015双十一淘宝销售额 编辑:程序博客网 时间:2024/05/16 06:21
查询product_name字段时,出现多个数据,为避免多列展示,需要使用||进行拼接,这时可以使用oracle的listagg()函数进行列转行,代码如下:
select cont.ContNo AS policy_no, substr(cont.SupplierCode, 0, 4) AS supplier_code, (select listagg((select risk.riskname from fmrisk risk where risk.riskcode = f.riskcode), '||') within GROUP(order by f.riskcode) from fcpol f where f.contno = cont.contno) AS product_name, cont.CValiDate AS effective_date, (case when cont.state in('01','04') then '1' when cont.state in('02','03') then '2' end) AS main_status, cont.InsuredName AS insured_name, cont.InnerContNo AS innerpolicy_no from fccont cont
使用listagg(字段,'||') within group(order by 字段),这是其固定格式,得到的结果为:xxx||xxx,成功实现列转行。
适用情况:
当在列表中展示信息时,某个字段存在多个数据,需要使用拼接的方式展现出来,在oracle数据库中就可以使用listagg()函数。如果不使用这种方式,展示就会出现重复的情况。也可以在Java代码中将字段用循环的方式取出来,再使用“||”进行拼接,但相比之下,这种方式更加简单快捷有效且准确,个人建议使用。也可以把这个函数理解为sum()函数去理解。
结果对比模拟:
使用listagg(): 不使用listagg():
阅读全文
0 0
- oracle-listagg()函数实现列转行
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 列转行函数 Listagg()
- Oracle 11g 新聚集函数listagg实现列转行
- Oracle 11g 新聚集函数listagg实现列转行
- WM_CONCAT LISTAGG函数,ORACLE列转行聚合的简单实现
- Oracle 11g 新聚集函数listagg实现列转行
- Oracle的列转行函数:listagg()
- Oracle 列转行函数 Listagg()示例
- Oracle的列转行函数:LISTAGG()
- [Python模块学习]使用linecache模块加载和缓存文件内容
- http请求传json串或者是key=value模式
- Unity ios 高德定位
- 关于“软删除”
- Faster RCNN详解
- oracle-listagg()函数实现列转行
- Spark的学习资料来源
- 算法导论22.1-7
- 数据结构实验之图论九:最小生成树
- 监控redis键值
- apply,call与this之间的衔接
- 如何以Swift版本号作为条件编译的判断依据
- cc
- windows 复制代码到linux 文本中文乱码