SQL statement for row-to-column merge
This article mainly explains the "SQL row transfer column merge statement", the article explains the content is simple and clear, easy to learn and understand, now please follow the editor's train of thought slowly in depth, together to study and learn the "SQL row transfer column merge statement"!
SQL > create table test (id number,name varchar2 (20))
SQL > insert into test values (1)
SQL > insert into test values (1)
SQL > insert into test values (1)
SQL > insert into test values (2)
SQL > insert into test values (2)
SQL > commit
Effect 1: row to column
SQL > select wm_concat (name) from test
WM_CONCAT (NAME)
A,b,c,d,e
Effect 2: replace the comma in the result with "|"
SQL > select replace (wm_concat (name),'|') from test
REPLACE (WM_CONCAT (NAME),'|')
A | b | c | d | e
Effect 3: merge name in groups by ID
SQL > select id,wm_concat (name) name from test group by id
ID NAME
1 a,b,c
2 d,e
Lazy extended usage:
Example: I want to write a view, similar to "create or replace view as select field 1. Field 50 from tablename", the base table has more than 50 fields, if it is too troublesome to write by hand, is there any easy way? Of course there is. Look if I apply wm_concat to make this requirement simple.
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'
Create or replace view as select DEPTNO,DNAME,LOC from dept
Thank you for your reading, the above is the content of "SQL row transfer column merge statement". After the study of this article, I believe you have a deeper understanding of the problem of SQL row transfer column merge statement, and the specific use needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!