用select查询时如何替换字段中的多个代码字段的内容:(个数是不固定的)001,002,003,006,005
002,003,005代码表:
dm mc
001 键盘
002 鼠标
003 硬盘
004 CPU
005 打印机
006 电源要求查询后结果显示如下:键盘,鼠标,硬盘,电源,打印机
鼠标,硬盘,打印机
002,003,005代码表:
dm mc
001 键盘
002 鼠标
003 硬盘
004 CPU
005 打印机
006 电源要求查询后结果显示如下:键盘,鼠标,硬盘,电源,打印机
鼠标,硬盘,打印机
002,003,005代码表table2的内容:
dm mc
001 键盘
002 鼠标
003 硬盘
004 CPU
005 打印机
006 电源要求查询后结果显示如下:
键盘,鼠标,硬盘,电源,打印机
鼠标,硬盘,打印机希望我已经表述清楚了,大家帮忙
select b.mc from
(
select dbms_lob.substr(regexp_substr(field1, '[^,]+', 1, x.n)) as tt from table1,
(select rownum n from table1 connect by rownum <=length(field1)-length(replace(field,',',''))+1) x
) a,
table2 b
where a.tt=b.dm(+)
)
http://www.sucai.com/Tech/List4/20601.htm
select b.mc from (
select substr(filed1,decode(rownum,1,0,instr(filed1,',',rownum-1)),3) t from table1 connect by rownum <=length(field1)-length(replace(field,',',''))+1) a,
table2 b where a.t=b.dm(+)
)