達夢資料庫 查詢多行資料合併成一行資料

2021-10-04 14:11:47 字數 1085 閱讀 3751

準備測試資料

sql> createtabletest(id number,name varchar2(20));

sql> insert into test values(1,'a');

sql> insert into test values(1,'b');

sql> insert into test values(1,'c');

sql> insert into test values(2,'d');

sql> insert into test values(2,'e');

sql> commit;

效果1 : 行轉列

sql> select wm_concat(name) from test;

wm_concat(name)

a,b,c,d,e

效果2: 把結果裡的逗號替換成"|"

sql> select replace(wm_concat(name),',','|') from test;

replace(wm_concat(name),',','|')

a|b|c|d|e

效果3:按id分組合併name

sql> select id,wm_concat(name) name from test group by id;

id name

1 a,b,c

2 d,e

懶人擴充套件用法:

案例:我要寫乙個檢視,類似"create or replace view as select 欄位1,...欄位50 from tablename" ,基表有50多個字段,要是靠手工寫太麻煩了,有沒有什麼簡便的方法? 當然有了,看我如果應用wm_concat來讓這個需求變簡單

sql> select 'create or replace view as select '|| wm_concat(column_name) || ' from dept'from user_tab_columns where table_name='dept';

'createorreplaceviewasselect'||wm_concat(column_name)||'fromdept'

SQL SERVER將多行資料合併成一行

sql server的問題 sql server將多行資料合併成一行 需要寫乙個儲存過程來處理幾個表中的資料,最後問題出在我想將乙個表的乙個列的多行內容拼接成一行 比如表中有兩列資料 ep classes ep name aaa 企業1 aaa 企業2 aaa 企業3 bbb 企業4 bbb 企業5...

達夢資料庫查詢多表聯查

小結 select 列名列表 from 表 1,表 2 where 兩表關聯列條件表示式 select 列名列表 from 表 1 inner join on 兩表關聯列條件表示式 外連線可分為 左連線 右連線 完全外連線。左外連線 左外連線包含left join左表所有行,如果左表中某行在右表沒有...

達夢資料庫和mysql索引引擎 達夢資料庫 索引

1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...