从一个表中获取计数时,我遇到了一个奇怪的问题。 表名是客户端并且有一个varchar(200)列名为卡号。 数据库引擎是Intersystems缓存并且查询语法是SQL。来自COUNT查询的意外结果
我在下面执行查询以获得有/没有卡号的客户的数量。但获得意想不到的结果如下。
select count(*) from Client
where CardNo is null
--Result: 38000
select count(*) from Client
where CardNo is not null
--Result: 78000
select count(*) from Client
--Result: 265000
客户没有CardNo数为38000 与CardNo客户端的数量是78000. 所有客户的表中的数字是265000,这不等于78000 + 38000。怎么会这样发生? 而按照文件应该有我的风格查询没有问题 http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_null
也许一些其他处理插入/更新/删除当您运行的查询。 –
谢谢@GordonLinoff,我已经检查了数据库管理员的情况,但没有其他查询处理记录。 – Ahmet