從一個表中獲取計數時,我遇到了一個奇怪的問題。 表名是客戶端並且有一個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