У меня вопрос, как решить мою проблему.
У меня есть процедура, где внутри меня это SELECT
внутри LEFT OUTER JOIN
Ведьма возвращает мне некоторые значения:
SELECT * FROM database1 data1
JOIN database2 data2 ON data2.id = data1.attr_id
JOIN database3 data3 ON data3.attr_id = data2.id
JOIN database4 data4 ON data4.objt_attr_id = data3.id
JOIN database5 data5 ON data5.stya_id = data4.id
AND data5.value = 1
JOIN database6 data6 ON data6.id = data5.sero_id
JOIN database7 data7 ON srv.id = data6.srv_id
JOIN database8 data8 ON data8.code IN ('CALC1','CALC2')
WHERE data1.ordet_id IN (data8.id)
Как видите, он ищет CALC1
и CALC2
, а затем ищет по их ID's
в data1.ordet_id
. Естественно, он вернул мне 2 записи ведьмы не правильно.
Как сделать чек. Когда скрипт найдет запись с CALC1
, он пропускает проверку на CALC2
, поэтому скрипт возвращает только 1 запись к CALC1
(не так, как сейчас для обоих). И наоборот, если по CALC1
запись не найдена, он проверяет CALC2