これを試して
SELECT DISTINCT DECODE(A.RES, B.RES, I.INTEREST_CATEGORY, 'FALSE') AS FINAL_RES
FROM INTEREST I,
TABLE(SYS.DBMS_DEBUG_VC2COLl('music', 'movie', 'sport')),
(SELECT LENGTH(WM_CONCAT(COLUMN_VALUE)) AS RES
FROM TABLE(SYS.DBMS_DEBUG_VC2COLl('music', 'movie', 'sport'))) A,
(SELECT LENGTH(WM_CONCAT(DISTINCT I.INTEREST_CATEGORY)) AS RES
FROM TABLE(SYS.DBMS_DEBUG_VC2COLl('music', 'movie', 'sport')),
INTEREST I
WHERE I.INTEREST_CATEGORY = COLUMN_VALUE) B
WHERE I.INTEREST_CATEGORY = COLUMN_VALUE
このクエリには2つの部分があります
(SELECT LENGTH(WM_CONCAT(COLUMN_VALUE)) AS RES
FROM TABLE(SYS.DBMS_DEBUG_VC2COLl('music', 'movie', 'sport')))
これは、入力として提供された値の長さを計算します
2番目のクエリ
(SELECT LENGTH(WM_CONCAT(DISTINCT I.INTERESET_CATEGORY)) AS RES
FROM TABLE(SYS.DBMS_DEBUG_VC2COLl('music', 'movie', 'sport')),
INTEREST I
WHERE I.INTEREST_CATEGORY = COLUMN_VALUE)
データベースエントリと一致するカテゴリの長さを計算します。
次に、これら2つの長さが最終的に比較され、IDが返されます。
これを行うには非常に長い道のりですが、group by(はるかに小さいコーディング)を使用したくない場合は、これがクエリのメソッドになる可能性があります。
それが役に立てば幸い