首页 > 解决方案 > Teradata SQL - 使用“或”返回比预期更多的记录

问题描述

以下两个查询分别返回大约十条记录。

SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 300618 

SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 310718

但是,当我将两个查询结合在一起运行时

SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE = 300618 
OR DATE = 310718

它返回数十万条记录。怎么会这样?

标签: sqlconditionalteradata

解决方案


用于

SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE in ( 300618, 310718)

推荐阅读