您的位置:首页 > 数据库 > Oracle

使用SQL语句对Oracle数据库数据进行拼接

2014-04-24 13:31 483 查看
=====将Oracle中同一列中的多行数据拼接成一行字符串









===============================================================================================================================================

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('','')函数,将不同列的值 拼接成一个字符串  

-- 方法一:推荐  

 


  --方法二:繁琐。  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: