sql - 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
它返回数十万条记录。怎么会这样?
解决方案
用于
SELECT ACC_NO
FROM TABLE1
WHERE ACC_NO IN (1, 2, 3, 4, 5)
AND DATE in ( 300618, 310718)