我有列代碼的表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