Bungkus nilai dalam pembatas yang Anda gunakan dalam daftar yang dibatasi dan kemudian periksa apakah itu adalah sub-string dari daftar yang dibatasi (juga dengan pembatas yang membungkusnya):
SELECT r.Value
FROM AD_Ref_List r
INNER JOIN xx_insert x
ON ( ',' || x.XX_DocAction_Next || ',' LIKE '%,' || r.value || ',%' )
WHERE r.AD_Reference_ID = 1000448
AND x.xx_insert_id = 1000283;
saya harus menyimpan logika di whereClause
Sungguh, jangan. Permintaan di atas akan jauh lebih efisien.
Tetapi jika Anda harus melakukannya:
SELECT Value
FROM AD_Ref_List
WHERE AD_Reference_ID = 1000448
AND value IN (
SELECT REGEXP_SUBSTR( XX_DocAction_Next, '[^,]+', 1, LEVEL )
FROM xx_insert
WHERE xx_insert_id = 1000283
CONNECT BY LEVEL <= REGEXP_COUNT( XX_DocAction_Next, '[^,]+' )
);