Вы можете попробовать использовать функцию replace
для замены '
запятой, затем regexp_substr
для разделения запятой.
CREATE TABLE TESTING2(
AREA_NAME VARCHAR(500)
);
INSERT INTO TESTING2 VALUES ('''Tilaknagar'',''Kadubeesinahalli''');
CREATE TABLE TESTING1(
NAME VARCHAR(50),
AREA VARCHAR(500)
);
INSERT INTO TESTING1 VALUES ('Ravi','Tilaknagar');
INSERT INTO TESTING1 VALUES ('Ram','Kadubeesinahalli');
Запрос 1 :
SELECT *
FROM TESTING1
WHERE AREA IN (
SELECT regexp_substr(replace(AREA_NAME,'''','') , '[^,]+', 1, x.n)
FROM TESTING2
cross join (SELECT ROWNUM n FROM dual CONNECT BY ROWNUM <= 5) x
)
Результаты :
| NAME | AREA |
|------|------------------|
| Ravi | Tilaknagar |
| Ram | Kadubeesinahalli |
ПРИМЕЧАНИЕ
CONNECT BY ROWNUM <= 5
число необходимо установить больше AREA_NAME
сумма запятой в столбце.