oracle 列拆分關聯查詢和查詢後的列組合

2022-04-01 09:45:59 字數 2488 閱讀 5378

-----------------------建表-------------------------

create table test(id int, plist varchar2(30)) ;

create table p(pid int ,pname varchar2(10));

-----------------------插入測試資料----------------------------

insert into test values(1,'28345|39262|56214');

insert into test values(2,'28345|56214');

insert into test values(3,'56214');

insert into p values(28345,'產品a');

insert into p values(39262,'產品b');

insert into p values(56214,'產品c');

-----------------------------拆分語句及結果------------------------------------

select id, plist,level p_level, regexp_substr(plist , '[^|]+', 1, level) pid

from test

connect by level <= regexp_count(plist , '[^|]+')

and prior id = id

and prior dbms_random.value is not null

查詢結果

-------------------拆分後關聯並拼接字元後的處理語句-------------------

with m as (

--拆分列資料

實戰親測可用

ORACLE關聯查詢

關聯查詢 多張表,而表與表之間是有聯絡的 是通過欄位中的資料的內在聯絡來發生 而不是靠相同的欄位名來聯絡的或者是否有主外來鍵的聯絡是沒有關係的 select dname,ename from emp,dept 笛卡爾積 無意義的 當2個表作關聯查詢的時候一定要寫關聯的條件 n個表 關聯條件一定有n ...

Oracle資料關聯查詢

關聯在oracle資料查詢時會經常用到,靈活的應用關聯可以解決很多實際應用的問題.下面給出一些示例 建表 create table ab ab id number 5 ab name varchar2 30 create table bb bb id number 5 bb name varchar...

Oracle資料關聯查詢

關聯在oracle資料查詢時會經常用到,靈活的應用關聯可以解決很多實際應用的問題.下面給出一些示例 建表 create table ab ab id number 5 ab name varchar2 30 create table bb bb id number 5 bb name varchar...