準備測試資料
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.何時使用索引...