使用SQL语句对Oracle数据库数据进行拼接
2014-04-24 13:31
483 查看
=====将Oracle中同一列中的多行数据拼接成一行字符串
![](https://img-blog.csdn.net/20140424131121359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamtxaWFuZzg4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20140424131126093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamtxaWFuZzg4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20140424131158203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamtxaWFuZzg4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20140424132151359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamtxaWFuZzg4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
===============================================================================================================================================
SELECT
L4.G_CATEGORY,MAX(SUBSTR(L4.分组内容,2)) 最终字段值
FROM(
SELECT
L3.G_CATEGORY,SYS_CONNECT_BY_PATH(L3.G_NAME,'*') AS 分组内容
FROM(
SELECT
L2.G_CATEGORY,L2.G_NAME,L2.G_CATEGORY||L2.分组内编号 AS 分组字段加编号,L2.G_CATEGORY||(L2.分组内编号-1) AS 上级分组字段加编号
FROM(
SELECT
L1.G_CATEGORY,L1.G_NAME,ROW_NUMBER() OVER (PARTITION BY L1.G_CATEGORY ORDER BY L1.G_NAME ASC) 分组内编号
FROM GOODS L1
) L2
) L3
START WITH L3.上级分组字段加编号 LIKE '%0'
CONNECT BY PRIOR L3.分组字段加编号=L3.上级分组字段加编号
) L4
WHERE G_CATEGORY='水果'
GROUP BY L4.G_CATEGORY
==================================================================================================================================================
=====将Oracle中同一行中的多列数据拼接成一行字符串
--利用拼接操作符“||”或者 CONCAT('','')函数,将不同列的值 拼接成一个字符串
-- 方法一:推荐
![](https://img-blog.csdn.net/20140424133737281?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamtxaWFuZzg4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
--方法二:繁琐。
===============================================================================================================================================
SELECT
L4.G_CATEGORY,MAX(SUBSTR(L4.分组内容,2)) 最终字段值
FROM(
SELECT
L3.G_CATEGORY,SYS_CONNECT_BY_PATH(L3.G_NAME,'*') AS 分组内容
FROM(
SELECT
L2.G_CATEGORY,L2.G_NAME,L2.G_CATEGORY||L2.分组内编号 AS 分组字段加编号,L2.G_CATEGORY||(L2.分组内编号-1) AS 上级分组字段加编号
FROM(
SELECT
L1.G_CATEGORY,L1.G_NAME,ROW_NUMBER() OVER (PARTITION BY L1.G_CATEGORY ORDER BY L1.G_NAME ASC) 分组内编号
FROM GOODS L1
) L2
) L3
START WITH L3.上级分组字段加编号 LIKE '%0'
CONNECT BY PRIOR L3.分组字段加编号=L3.上级分组字段加编号
) L4
WHERE G_CATEGORY='水果'
GROUP BY L4.G_CATEGORY
==================================================================================================================================================
=====将Oracle中同一行中的多列数据拼接成一行字符串
--利用拼接操作符“||”或者 CONCAT('','')函数,将不同列的值 拼接成一个字符串
-- 方法一:推荐
--方法二:繁琐。
相关文章推荐
- 使用sql语句进行数据分类汇总
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
- 使用SQL语句对表进行插入、修改和删除数据操作
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计
- SQL SERVER 2005中使用sql语句对xml 文件和其数据的进行操作(很全面)
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新
- 使用SQL语句对数据进行简单报表汇总
- 使用SQL语句对数据进行MD5加密
- Excel 中使用SQL 语句查询数据(七)-----用LIKE 运算符进行模糊匹配查询
- 使用SQL语句进行数据比对
- Sql Server cursor 的使用处理重复数据 动态拼接 SQL语句
- 在Excel中使用SQL语句对多个数据表进行精确筛选
- 在Excel中使用SQL语句对多个数据表进行精确筛选 (查询)
- C#拼接SQL语句,SQL Server 2005+,多行多列大数据量情况下,使用ROW_NUMBER实现的高效分页排序
- Python与开源GIS:在OGR中使用SQL语句进行查询
- oracle数据库之sql语句使用
- 使用Transact-SQL进行数据导入导出方法
- 使用SQL语句清空数据库所有表的数据