oracle 多行資料 轉為 一行資料,用逗號分隔

2021-09-02 09:17:08 字數 1110 閱讀 5552

oracle 多行資料 轉為 一行資料,用逗號分隔

有時候我們需要將多行資料轉為一行,多個數值用逗號分隔,其實很簡單,只需要乙個oracle 提供的函式即可, wm_concat() 函式 即可實現該功能

普通查詢**如下:

select crm.d_ringname,czm.d_zonename,cc.d_circuitname 

from c_ringsdetailreference cr ,c_rins_manager crm ,c_circuit cc,c_zone_manage czm

where crm.d_ringid=cr.d_ringid and cr.d_circuitid=cc.d_circuitid

and czm.d_zoneid = crm.d_zoneid and czm.d_zoneid=195014

效果如下:

要想達到一行,用逗號隔開的效果,需要用到 wm_concat() 函式,**如下:

select  crm.d_ringname,czm.d_zonename as 所屬單位,

count(cr.d_circuitid) as 饋線數量, wm_concat(cc.d_circuitname) as 饋線列表,

wm_concat(cc.d_circuitid) 饋線fid

from c_rins_manager crm,c_ringsdetailreference cr ,c_circuit cc,c_zone_manage czm

where crm.d_ringid = cr.d_ringid and cr.d_circuitid = cc.d_circuitid

and czm.d_zoneid=crm.d_zoneid

--and crm.d_ringname = cr.d_ringname

and czm.d_zoneid=195014

group by (crm.d_ringname,czm.d_zonename);

效果如下:

Oracle多行資料顯示為一行

最近在做一新專案涉及到複雜的查詢,其中就包括需要將多行資料轉化為一行顯示,在網上google了一把然後自己改了一點就可以用了,記錄下來以為後用.第一步 新建types型別 create or replace type combstrtype as object currentstr varchar2...

mysql 一行資料拆分多行

查詢出被逗號分隔字段需要拆分的最大數量 select max length 逗號分隔的字段 length replace 逗號分隔的字段,1 from 處理表 where 條件 建立一張臨時表用於聯合查詢,方便把處理表單行記錄分隔為多行 create temporary table incre ta...

ORACLE學習筆記 合併多行資料到一行中

本人使用 oracle 時,遇到以下情況 需要輸出多列資料,但是這些資料卻分布在多行的同一列中。所以本人就想出了以下這種方式進行合併查詢。示例是乙個 grades 表,記錄每個學生的姓名 課程和分數,分數都放在 grade 列中,現在要將各個科目的分數放到一行中顯示怎麼辦?create table ...