1樓:匿名使用者
select (wm_concat(t.name)) as allname from test t
注意資料庫的限制長度
2樓:匿名使用者
我現在身邊沒有 資料庫環境 這個是我以前寫的sql
你看一下,修改一下就可以了
oracle分組查詢用逗號分隔結果sql語句
表一:學號 姓名
1 張三
2 李四
3 王五
。。。。
表二:學號 選修課程
1 語文
1 數學
2 英語
2 語文
3 數學
3 英語
3 歷史
。。。。。
要求查處結果
學好 姓名 選修課程所有課程名稱以,隔開
1 張三 語文,數學
2 李四 英語,語文
3 王五 數學,英語,歷史
;create table a_lyh_test
asselect 1 as "學號" , '張三' as "姓名" from dual
union all
select 2 as "學號" , '李四' as "姓名" from dual
union all
select 3 as "學號" , '王五' as "姓名" from dual
;create table b_lyh_test
asselect 1 as "學號" , '語文' as "選修課程" from dual
union all
select 1 as "學號" , '數學' as "選修課程" from dual
union all
select 2 as "學號" , '英語' as "選修課程" from dual
union all
select 2 as "學號" , '語文' as "選修課程" from dual
union all
select 3 as "學號" , '數學' as "選修課程" from dual
union all
select 3 as "學號" , '英語' as "選修課程" from dual
union all
select 3 as "學號" , '歷史' as "選修課程" from dual
;select f."學號"
,f."姓名"
,ltrim(max(sys_connect_by_path(f."選修課程",','))
keep (dense_rank last order by f.pnum),',') as "選修課程"
from
(select t."學號"
,t."姓名"
,t."選修課程"
,row_number() over(partition by t."學號" order by t."姓名") as pnum
,row_number() over(partition by t."學號" order by t."姓名")-1 as lnum
from
(select a."學號",a."姓名",b."選修課程"
from a_lyh_test a
,b_lyh_test b
where a."學號" = b."學號"
) t) f
group by f."學號",f."姓名"
connect by f.lnum = prior f.pnum and f."學號" = prior f."學號"
start with f.pnum = 1;
3樓:匿名使用者
select id ,listagg( name, ',' ) within group ( order by id ) as name
from table_name
group by id;
4樓:匿名使用者
select wm_concat(name) from test
5樓:匿名使用者
你這就是行轉列,行數太多不建議這樣做,有很多方法,典型的有decode,多寫幾個decode。
求助,oracle多行資料合併成一行
select wm concat t.name as allname from test t 注意資料庫的限制長度 我現在身邊沒有 資料庫環境 這個是我以前寫的sql 你看一下,修改一下就可以了 oracle分組查詢用逗號分隔結果sql語句 表一 學號 姓名 1 張三 2 李四 3 王五 表二 學號...
ORACLE資料庫多行資料合併為1行的問題,急用
你看看是不是這樣的,你資料排版太混亂了 select csrq,qyph,pczl,wm concat jyxmmc wm concat jyz xydj,je from 表名 group by csrq,qyph,pczl,xydj,je 補充 oracle跟sqlserver不一樣,如果儲存過程...
在oracle中使用cursor合併多行資料
如果這兩行有個共同的其他列作為分組,標誌他們是同一組 比如姓名編號之類的,是可以group by後min出來的。select 姓名,min 引流管 as 引流管,min 化療 as 化療,min 放療 as 放療。from 記錄表。group by 姓名 如何將oracle中同一列的多行記錄拼接成一...