我正在尝试进行 SQL 查询,其中“exists”子句中的子查询具有“have”子句。奇怪的是。没有错误,并且子查询作为独立查询工作。但是,整个查询给出的结果与没有 'have' 子句的结果完全相同。
这是我的查询的样子:
SELECT X
FROM A
WHERE exists (
SELECT X, count(distinct Y)
FROM B
GROUP BY X
HAVING count(distinct Y) > 2)
所以我试图从 A 中选择行,其中 X 在 B 中出现两次以上的 Y。但是,结果还包括子查询中不存在的记录。我在这里做错了什么?