不存在使用其他过滤器查询

时间:2016-10-20 08:59:21

标签: sql teradata

我有一个不存在的查询,但没有给出正确的结果。但是,使用相同的查询减去它会得到正确的结果。任何人都可以告诉我在哪里弄错了。以下是两个代码:

不存在:

    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 个答案:

答案 0 :(得分:3)

从子查询中获取条件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'
);