SQL服务器上的工作,我是想指望根据某些条件的总行数,如图波纹管的简单查询:SQL服务器上,运营商表现出不同的结果
SELECT count(*) FROM my_table WHERE (supp=92 OR (supp=94 and organisation <> 'LDF'))
知道MY_TABLE不包含任何行与supp=92
和organisation='LDF'
我决定把查询简单的像下面这样:
SELECT count(*) FROM my_table WHERE supp IN (92,94) and organisation <> 'LDF'
两个查询的结果是完全不同的。
然而,查询看起来完全一样,我一直在试图找出问题出在哪里,但我找不到答案。
这真的让我感到困惑,先谢谢你的回答。
考虑一个行,其中supp = 92 AND organization ='LDF'。它包含在第一个查询中,但从第二个查询中排除。 –
也考虑一个行,其中supp = 92 AND organization IS NULL。它将包含在第一个查询中,但从第二个查询中排除。 – AHiggins
谢谢你的回答,但是在supp_92和organization ='LDF'的行不存在于my_table上,这就是为什么这真是令人困惑 – PaxBin