Oracle 连接单列结果集的所有数据(单列多行串联 )
2013-11-29 16:21
330 查看
举例:查询结果如下
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
如果想组合成一个字符串
SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER
怎么办?
查询结果是动态的
有可能会有几个,几十个,几百个
查询的结果是单列的SQL语句:select ltrim(replace(max(sys_connect_by_path(ename, ',')), ',', '、'),'、')
from (select emp.ename, rownum t from emp)
connect by prior t = t - 1
start with t = 1;或者:select ltrim(max(sys_connect_by_path(ename, ',')),',')
from (select emp.ename, rownum t from emp)
connect by prior t = t - 1
start with t = 1;
注明下:replace(XXX,',','') 把XXX中的,号替换为空max()返回最大值sys_connect_by_path(a,',')把a列的结果以,号的形式连接起来同时可以加上ltrim或者rtrim函数来去除第一个或者最后一个,号。connect by prior ...start with...是一个循环
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
如果想组合成一个字符串
SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER
怎么办?
查询结果是动态的
有可能会有几个,几十个,几百个
查询的结果是单列的SQL语句:select ltrim(replace(max(sys_connect_by_path(ename, ',')), ',', '、'),'、')
from (select emp.ename, rownum t from emp)
connect by prior t = t - 1
start with t = 1;或者:select ltrim(max(sys_connect_by_path(ename, ',')),',')
from (select emp.ename, rownum t from emp)
connect by prior t = t - 1
start with t = 1;
注明下:replace(XXX,',','') 把XXX中的,号替换为空max()返回最大值sys_connect_by_path(a,',')把a列的结果以,号的形式连接起来同时可以加上ltrim或者rtrim函数来去除第一个或者最后一个,号。connect by prior ...start with...是一个循环
相关文章推荐
- oracle 连接单列结果集的所有数据(单列多行串联)
- oracle 连接单列结果集的所有数据。即:单列多行串联
- VS2010MVC连接oracle 建立实体数据模型
- oracle 10G 表空间移动 , TNS 监听程序所有适用例程都无法建立新连接,service_died 12537, c3p0连接池参数
- Oracle中如何删除某个用户下的所有数据呢
- 在Oracle的连接视图上进行数据更新操作
- oracle常见为题汇总,以及一个简单数据连接操作工厂
- 连接oracle数据库出现oracle ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式
- Oracle中快速删除某个用户下的所有表数据
- 连接数据据库单列模式的简单实现
- 通过数据链接(Database Link),从Oracle 9i 连接 SQL Server 2000(实例)
- oracle清空所有表数据
- 和SQL内连接不同,SQL外连接返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行,下面就为您详细介绍SQL外连接,
- Linux下kill所有的Oracle远程连接
- 在Oracle的连接视图上进行数据更新操作
- 关于Oracle所有适用例程都无法建立新连接问题
- 查询所有连接到ORACLE服务器的客户端IP地址的方法
- oracle 建表 造数据 存储过程 创建数据库的远程连接 以及一列的多行合并
- IIS连接oralce数据提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”
- JSP连接Oracle小程序(创建数据表,插入,显示)