#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 плохо.