加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何在MS Access中正确使用“Not Equal”?

发布时间:2020-12-12 08:38:44 所属栏目:MsSql教程 来源:网络整理
导读:目的: 此查询的目的是在不同表中的相似列中不存在的一列中选择所有不同的值. 当前查询: SELECT DISTINCT Table1.Column1FROM Table2,Table1WHERE Table1.Column1 Table2.Column1 查询结果: 当我尝试运行此查询时会发生什么,进度条几乎立即填满,但是几乎冻
目的:

此查询的目的是在不同表中的相似列中不存在的一列中选择所有不同的值.

当前查询:

SELECT DISTINCT Table1.Column1
FROM Table2,Table1
WHERE Table1.Column1 <> Table2.Column1

查询结果:

当我尝试运行此查询时会发生什么,进度条几乎立即填满,但是几乎冻结,并且不会做任何其他事情,只要我看到.当我使用=符号而不是<>它输出的值相当正确,如果我将Table2.Column1替换为实际的实际值,它的工作原理很好.

我刚刚打了这个问题再次运行它,上面的查询给了我一个答案这一次,但它有列的所有DISTINCT值,而不是所有的值唯一的表,就像它应该.

关于我在做什么错误或在这里失踪的任何想法?

解决方法

喜欢这个
SELECT DISTINCT Table1.Column1
FROM Table1
WHERE NOT EXISTS( SELECT * FROM Table2
    WHERE Table1.Column1 = Table2.Column1  )

你想不存在,而不是“不相等”

顺便说一句,你很少想像这样写一个FROM子句:

FROM Table1,Table2

因为这意味着“从表1中的每一行的所有组合与表2中的每一行…”通常,这是比您想要看到的更多的结果行.在极少数情况下,您确实想要这样做,更接受的语法是:

FROM Table1 CROSS JOIN Table2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读