У меня проблемы с возвратом результатов из моего запроса SQL. Я почти уверен, что это как-то связано с условием WHERE.
Я хочу, чтобы возвращались только определенные RULE_ID. Я идентифицирую RULE_ID по его RULE_NAME в TABLE1. Затем я присоединяюсь к TABLE1 и TABLE2 и говорю, что если столбец DATE для RULE_ID равен 05-MAR-20, а столбец COLUMN3 не равен NULL, возвращаю RULE_ID.
В настоящее время я не получаю никаких результатов по этому запросу, и я не совсем уверен, почему. Любая помощь будет высоко ценится!
РЕДАКТИРОВАТЬ: COLUMN3 находится в TABLE2, но не в TABLE1. Я не получаю ошибку, просто нет результатов, когда я думаю, что я должен получить некоторые. Если я уберу AND (TABLE2.DATE = '05-MAR-20')
, я получу несколько результатов. Не уверен, почему это ...
sql_query = """
SELECT TABLE1.RULE_ID, TABLE2.RULE_ID
FROM TABLE1
RIGHT OUTER JOIN TABLE2
ON (TABLE1.RULE_ID = TABLE2.RULE_ID)
WHERE (TABLE1.RULE_NAME = 'TEST1' OR TABLE1.RULE_NAME = 'TEST2')
AND (TABLE2.DATE = '05-MAR-20')
AND COLUMN3 IS NOT NULL
"""