首页 > 解决方案 > SQL:选择查询的逆

问题描述

我有这个查询,我想选择这个查询的查询(那些不关心的查询。

SELECT*
FROM input1
LEFT OUTER JOIN (
    SELECT MAX(Ref) AS Ref, Nomlatin, Lieudit, Commune
    FROM input1
    GROUP BY Nomlatin, Lieudit, Commune
) as t1 
ON input1.Ref = t1.Ref
WHERE t1.Ref IS NULL

我已经搜索过这个问题的答案,但我没有成功使用NOT IN.

如果有人可以帮助我,那就太好了。

谢谢

标签: sql

解决方案


好吧,最后你的WHERE子句过滤了最终结果集中的所有内容IS NULL

IS NULL如果您替换为 ,将返回“逆”或相反的值IS NOT NULL

SELECT*
FROM input1
LEFT OUTER JOIN (
    SELECT MAX(Ref) AS Ref, Nomlatin, Lieudit, Commune
    FROM input1
    GROUP BY Nomlatin, Lieudit, Commune
) as t1 
ON input1.Ref = t1.Ref
WHERE t1.Ref IS NOT NULL -- minor change here

推荐阅读