I eine Tabelle A mit Spaltencode haben, die Werte AB, BCOracle SQL-Abfrage
-----
code
-----
'AB','BC'
Tabelle B Zeile hat folgende
------------------------------
AB 4 2 1
------------------------------
-------------------------------
BC 1 2 3
--------------------------------
Für AB enthält, gibt es ein Zeileneintrag in einer anderen Tabelle B und in ähnlicher Weise für BC
ich verwenden möchte IN-Klausel für den Spalt Code
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
Wenn ich über SQL ausführen, gibt es kein Ergebnis, ich denke, die IN-Klausel erfordern Zeile eher Komma getrennt. Lassen Sie mich bitte wissen, wie man das auskostet.
Sie müssen diesen Code wirklich in zwei separate Spalten teilen, damit die Leistung nicht beeinträchtigt wird. Vielleicht betrachten Sie Virtual Columns http://www.oracle-base.com/articles/11g/VirtualColumns_11gR1.php –