【发布时间】:2018-10-09 22:19:22
【问题描述】:
我在使用以下 SQL 查询时遇到了一些问题
SELECT DISTINCT A.ACC_NO
FROM FIRST_TABLE A
WHERE A.ACC_NO = 1
AND A.ACC_NO NOT IN
(
SELECT DISTINCT ACC_NO
FROM SECOND_TABLE B
LEFT JOIN THIRD_TABLE C
ON B.FIELD_NAME = C.FIELD_NAME
)
ORDER BY A.ACC_NO
以下查询不返回任何内容,即使我知道内部选择不包含 ACC_NO 为 1 的条目。如果我运行以下命令:
SELECT DISTINCT ACC_NO
FROM SECOND_TABLE B
LEFT JOIN THIRD_TABLE C
ON B.FIELD_NAME = C.FIELD_NAME
WHERE ACC_NO = 1
它不返回任何东西。
但是,如果我在(第一个查询的)内部选择中包含“WHERE ACC_NO 1”,则查询确实有效。
这怎么可能?
【问题讨论】: