我有列代码的表A中包含的值AB,BC的Oracle SQL查询
-----
code
-----
'AB','BC'
表B具有以下行
------------------------------
AB 4 2 1
------------------------------
-------------------------------
BC 1 2 3
--------------------------------
对于AB有另一个表B中的行条目同样地,对于BC
我想使用IN子句列码
select regexp_substr(replace (a.code,'''',''), '[^,]+', 1, level) from A a , C b
WHERE a.id ='SC_1' AND a.id= b.id AND a.name = 'CODE'
connect by level <= length(regexp_replace(replace (a.code,'''',''), '[^,]*')) + 1
当我在sql上执行没有结果时,我认为IN子句需要row而不是逗号separate.kindly让我知道如何解决这个问题。
您真的需要将该代码拆分为两个单独的列,以确保性能不受影响。也许看看虚拟列http://www.oracle-base.com/articles/11g/VirtualColumns_11gR1.php – 2010-12-19 22:14:54