У меня есть требование, как показано ниже:
Есть две таблицы: i) TB_VALUES и ii) TB_KEYWORDS .
Вот некоторые примеры данных для
TB_VALUES :
ID
Description
00001
Oracle is better than SQL Server
00001
Python is good
00001
Why should we use oracle
00002
pl/sql guidelines
00002
python tutorial
TB_KEYWORDS :
ID
Keywords
00001
Oracle
00001
SQL
00002
SQL
Теперь мы должны найти данные из TB_VALUES, описание этих данных должно содержать ключевое слово. Это означает, что для 00001 описание должно содержать «SQL» или «Oracle» ( case нечувствительный ) и для 00002 описание должно содержать «SQL» ( регистр нечувствительный ). Наш вывод должен быть таким:
ID
Description
00001
Oracle is better than SQL Server
00001
Why should we use oracle
00002
pl/sql guidelines
Для этого нам нужно написать что-то вроде этого:
SELECT V.ID,V.DESCRIPTION FROM TB_VALUES V JOIN TB_KEYWORDS K ON V.ID = K.ID
WHERE UPPER(V.DESCRIPTION) LIKE '%SQL%' OR UPPER(V.DESCRIPTION) LIKE '%ORACLE%' AND V.ID = 00001
UNION ALL
SELECT V.ID,V.DESCRIPTION FROM TB_VALUES V JOIN TB_KEYWORDS K ON V.ID = K.ID
WHERE UPPER(V.DESCRIPTION) LIKE '%SQL%' AND V.ID = 00002
Но я хочу сделать это динамически.
Я могу добиться этого в PL / SQL, но я хочу вывод в виде представления.