У меня есть SQL-запрос, в котором выполняются данные из VIEW. В этом запросе у меня есть 4 параметра, все данные параметров хранятся в другой таблице. 3 параметра имеют данные в таблице, а 1 параметр не имеет записи. В 3-х параметрах есть всего «1080» записей, но этот запрос выполняет «16000» записей.
Мой SQL-запрос:
SELECT DISTINCT COL1, COL2, COL3, COL4
FROM TABLE
WHERE (COL1 IN (SELECT VAL FROM RPPARAMLIST where flg = 'I') OR COL1 = COL1)
AND (COL2 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'P') OR COL2 = COL2)
AND (COL3 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'C') OR COL3 = COL3)
AND (COL4 IN (SELECT TO_NUMBER(VAL) FROM RPPARAMLIST where flg = 'U') OR COL4 = COL4);
Когда я удаляю условие OR в WHAE CLAUSE, тогда показывают пустые записи.
Пример данных:
1080 записей
![enter image description here](https://i.stack.imgur.com/07aaE.png)
Выходные данные:
13619 записей
![enter image description here](https://i.stack.imgur.com/Xpj8z.png)