Не существует запроса с дополнительными фильтрами

#sql #teradata

#sql #teradata

Вопрос:

У меня есть запрос для not exists, который не дает надлежащих результатов. Однако использование того же запроса с минусом it’s дает правильные результаты. Кто-нибудь, пожалуйста, может сказать мне, где я ошибаюсь. Ниже приведены два кода:

Не существует:

     SEL DISTINCT Accs_Meth_Id FROM X.DIM_LINE  A
WHERE NOT EXISTS 
(
SEL 1 
FROM X.DIM_PRODUCT B 
WHERE A.ACCS_METH_ID=B.ACCS_METH_ID
AND A.STATUS <> 'A'
AND B.STATUS <> 'A'
); 
  

Минус:

 SEL DISTINCT ACCS_METH_ID FROM X.DIM_LINE 
WHERE STATUS<>'A'
MINUS
SEL DISTINCT ACCS_METH_ID FROM X.DIM_PRODUCT 
WHERE STATUS<>'A' 
  

Спасибо,
AMiT

Ответ №1:

Извлеките условие A.STATUS <> 'A' из подзапроса

 SEL DISTINCT Accs_Meth_Id FROM X.DIM_LINE  A
WHERE 
A.STATUS <> 'A'
AND
NOT EXISTS 
(
SEL 1 
FROM X.DIM_PRODUCT B 
WHERE A.ACCS_METH_ID=B.ACCS_METH_ID    
AND B.STATUS <> 'A'
); 
  

Комментарии:

1. Спасибо Tedo..my плохо.