我想在oracle中生成视图,将逗号分隔的条目转换为列

我想在oracle中生成视图,将逗号分隔的条目转换为列,oracle,view,csv,Oracle,View,Csv,我想生成视图 CUSTOMER, CUSTOMER_ID, PRODUCTS ABC INC 1 A=XYX, B=ZZZ DEF CO 2 A=XYX, B=ZZZ, C=WWW GHI LLC 3 B=ZYX 希望视图类似于 CUSTOMER, CUSTOMER_ID, A B C ABC INC 1 XYX ZZZ DEF CO 2 XYX

我想生成视图

CUSTOMER, CUSTOMER_ID, PRODUCTS
ABC INC   1            A=XYX, B=ZZZ
DEF CO    2            A=XYX, B=ZZZ, C=WWW
GHI LLC   3            B=ZYX
希望视图类似于

CUSTOMER, CUSTOMER_ID, A    B    C
ABC INC   1            XYX  ZZZ
DEF CO    2            XYX  ZZZ  WWW
GHI LLC   3                 ZYX    
我想知道在oracle中是否有一种快速有效的方法可以做到这一点。我知道这可以通过PLSQL或一些逻辑来完成。这里关注的主要是性能,因为我需要每10分钟从包含大量数据的表中提取数据,并且不希望视图查询占用更多的时间

有什么想法或建议吗

谢谢


Tam

总是只有A、B和C吗?如果是这样,使用substr和instr

是否总是只有A、B和C?如果是这样,使用substr和instr

,正如Matthew所说,实际上只需使用字符串函数来隔离这些值,但是,如果您希望能够使用诸如B=XYZ之类的谓词查询视图,那么您必须考虑在基础表上添加基于函数的索引。

正如Matthew所说,隔离这些值实际上只是字符串函数的简单问题,但是,如果您希望能够使用诸如B=XYZ之类的谓词查询视图,那么您必须考虑在基础表上添加基于函数的索引