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

时间:2009-03-26 22:53:49

标签: 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  ZZZ  WWW
GHI LLC   3                 ZYX    

我想知道是否有办法在oracle中这样做是快速有效的方式。我知道它可以用PLSQL或一些逻辑来完成。这里关注的主要是性能,因为我需要每10分钟从具有大量数据的表中提取数据,并且不希望视图查询占用更多数据。

有任何想法或建议吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

正如Matthew所说,隔离这些值只是字符串函数的一个简单问题,但是如果你希望能够用B = XYZ这样的谓词来查询视图,那么你将不得不考虑添加函数基础表上的基于索引。