千家信息网

sql 将代码替换成码表相对应的翻译

发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,第一张表第二张表最终需求模拟创建语句:create table a (id number,name varchar2(30),code varchar2(30));insert into a valu
千家信息网最后更新 2024年10月11日sql 将代码替换成码表相对应的翻译



第一张表

第二张表

最终需求




模拟创建语句:
create table a (id number,name varchar2(30),code varchar2(30));


insert into a values (1,'czb','A01,A02,A03');


select * from a;
create table b (code varchar2(30),codename varchar2(30));
insert into b values ('A01','我');
insert into b values ('A02','爱');
insert into b values ('A03','你');


select * from b;


sql语句写法:


select
id,name,code,
(select LISTAGG(codename, ', ') WITHIN GROUP (ORDER BY codename)


from b


where code in


(SELECT regexp_substr(a.code, '[^,]+', 1, LEVEL)


FROM dual


CONNECT BY LEVEL < length(a.code)))


from a;


当然不止这一种写法,也可以使用plsql的方式实现该功能。


0