ORACLE純SQL實現多行合併一行

2021-05-08 05:20:43 字數 969 閱讀 3635

專案中遇到乙個需求,需要將多行合併為一行。

表結構如下:

name                            null          type

------------------------  ---------  -----

n_sec_code                not null  char(6)

c_researcher_code  not null  varchar2(20)

此表儲存了「**」與「研究員」的對應關係資料,一般而言,對於同一只**而言,可能有多個研究員對其進行跟蹤研究。所以目前遇到乙個要求,需查詢出每只**和對應的研究員(研究員**間,使用逗號分隔)。

例如有如下資料:

000297                                    chenpeng           

000297                                    liusu             

合併處理後需顯示為:

000297                                    chenpeng,liusu

預想的結果成功出現,多行資料成功彙總到一行,特此分享與大家。對於你自己的應用中,只需要把sql中「n_sec_code」換為你的用來彙總的列,「c_researcher_code」替換為需合併文字的列,「m_researcher_stock_rel」替換為你的表名,就是這麼簡單。

sql分析:

1、利用 「row_number () over (partition by……」 為按「****」彙總後的資料行新增組內序號

2、「sys_connect_by_path」  按組內序號相鄰關係,為每一層進行不同行的「研究員**」疊加

3、再次利用「****」進行組內分組,但按第二部中的層次排倒序,增加調整後等級

4、取所有調整後等級為1的結果,即為所要求的資料行

Oracle純SQL實現多行並一行

問題 在開發過程中需要實現以下效果 1 a 1 b 1 a,b,c 1 c 1.oracle 10以上可以使用wmsys.wm concat函式,相當easy 2.如果oracle是9以下,則用procedure或function實現 3.純sql實現 oracle9及以上 由於有 sys conn...

純css實現多行文字省略號顯示

首先傳統的單行文字實現省略號顯示 如下 overflow hidden text overflow ellipsis white space nowrap 注意點 部分低版本瀏覽器需要加上固定寬度才支援text overflow屬性。純css實現多行文字省略號顯示 方法一 text overflow...

純CSS實現多行文字垂直居中幾種方法解析

場景 父元素 高度固定,如何使其中的文字垂直居中?1 table布局 利用display table display table cell的方法 en class middle box class middle inner class suc tip 前端開發部落格,專注前端開發和web教程 cla...