`
圣诞王子
  • 浏览: 83027 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

多行字段 变成一行显示结果(oracle)

阅读更多

问题:

 

假设 我有一张表,内容如下:

p_sn     mo_sn      kp_sn
11         888          K001
11         888          K002
11         888          K003
22         888          K011
22         888          K012
22         888          K013
33         888          KKK1
33         888          KKK2
66         888          22XX
66         888          23X2
.....



我怎么写查询语句,才能得到如下的查询结果?

11    888   K001    K002    K003
22    888   K011    K012    K013
33    888   KKK1    KKK2
66    888   22XX    23X2

 

 

解决方案:

 

select p_sn,mo_sn,wmsys.wm_concat(kp_sn) 
from 表 
where mo_number='1601022' group by serial_number;

结果:
p_sn   mo_sn         kp_sn
11       888         K001,K002,K003
22       888         K011,K012,K013
33       888         KKK1,KKK2
66       888         22XX,23X2

分享到:
评论

相关推荐

    oracle某个字段多行记录转化为一行

    oracle某个字段多行记录转化为一行,oracle某个字段多行记录转化为一行。

    oracle字段分隔为多行显示

    比如一个字段'11,22,22,33,44',一个查询语句显示成4行,就可以这样来实现。 11 22 22 33 44

    一列分割成多列,多行合并为一行

    SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行

    oracle多行转为字符串总结

    介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    找了网上很多资料,都没有详细的做法有的还很复杂,自己写了个分割函数,通过直接查询就能分割多行,很方便。

    oracle实现多行合并的方法

    在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换也能实现,但如果这个月份的信息不固定,就无法使用行列转换了。 oracle10g以后,...

    oracle将以逗号分隔字符串转多行

    不做详解,直接上图。 SELECT T.NAME, T.TESTSTR FROM TEST2 T;   SELECT DISTINCT T.NAME, REPLACE(REGEXP_SUBSTR(T.TESTSTR, '[^,]+', 1, LEVEL), ',', ' ') TESTSTR FROM TEST2 T WHERE 1 = 1 ...

    Oracle 多行记录合并/连接/聚合字符串的几种方法

    怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。

    Oracle数据行拆分多行方法示例

    工作和学习中常常会遇到一行要分割成多行数据的情况,在此整理一下做下对比。 单行拆分 如果表数据只有一行,则可以直接在原表上直接使用connect by+正则的方法,比如: select regexp_substr('444.555.666', '[^...

    oracel重复记录只保留一条

    oracel重复记录只保留一条,提供sql语句与存储过程2种处理方式

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    最全的oracle常用命令大全.txt

    使用INPUT命令可以在SQL缓冲区中增加一行或多行 SQL>i SQL>输入内容 e、调用外部系统编辑器 SQL>edit 文件名 可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行 DEFINE_...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用Last_value来计算最小值 207 8.7 其他分析函数 207 8.7.1 Nth_value(11...

    oracle数据库经典题目

    13. 用_____语句修改表的一行或多行数据。( A ) A.Update B.set C.Select D.Where 14. 使用什么命令可以清除表中所有的内容? ( D ) A.INSERT B.UPDATE C. DELETE D.TRUNCATE 15.关于模式的描述下列哪一项不...

    orcale常用命令

    使用INPUT命令可以在SQL缓冲区中增加一行或多行 SQL>i SQL>输入内容 e、调用外部系统编辑器 SQL>edit 文件名 可以使用DEFINE命令设置系统变量EDITOR来改变文本编辑器的类型,在login.sql文件中定义如下一行 DEFINE_...

    精通SQL 结构化查询语言详解

    《精通SQ:结构化查询语言详解》全面讲解SQL语言,提供317个典型应用,读者可以随查随用,针对SQL Server和Oracle进行讲解,很有代表性。 全书共包括大小实例317个,突出了速学速查的特色。《精通SQ:结构化查询语言...

    Oracle 10g 开发与管理

    我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 目录 第一讲 Oacle关系数据库 9 一. Oracle的安装 9 二. 用浏览器进入em 企业管理器 11 三.启动DBCA的方法 11 四.服务设置 11...

    oracle数据库笔记

    我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 第一讲 Oacle关系数据库 9 一. Oracle的安装 9 二. 用浏览器进入em 企业管理器 11 三.启动DBCA的方法 11 四.服务设置 11 五. ...

Global site tag (gtag.js) - Google Analytics