- SELECT COUNT(*)FROM表1 T1
- SELECT COUNT(*)FROM表1 T1凡t1.ID未在(選擇從表2 ID)FROM表1 T1
- SELECT COUNT(*)內加入表2 T2上t1.ID = t2.ID
結果: -爲什麼查詢結果有差異?
爲什麼從Ist查詢中當總數爲83時第二和第三查詢的結果有差異?難道不應該是要麼57(從第二查詢),如果3的結果是26
OR
21(從第3次查詢),如果第二次的結果是62? 有人可以幫我在這裏什麼是錯誤的我上面的選擇陳述?
結果: -爲什麼查詢結果有差異?
爲什麼從Ist查詢中當總數爲83時第二和第三查詢的結果有差異?難道不應該是要麼57(從第二查詢),如果3的結果是26
OR
21(從第3次查詢),如果第二次的結果是62? 有人可以幫我在這裏什麼是錯誤的我上面的選擇陳述?
T1 IDs: 11, 12, 13
T2 IDs: 11, 11, 11
T1.Count = 3
T1.WhereNotInT2.Count = 2
T1.JoinT2.Count = 3
要解決您的疑問,change Count(*)
到Count(DISTINCT T1.ID)
謝謝先生。你是對的。我得到了我的答案 – Jango 2010-06-09 18:42:12
我的猜測:
ID列不是唯一
ID列可以爲NULL
你越來越多行對同一ID在#3。
我懷疑,查詢1和2是正確的,你必須在表2中的一些記錄具有相同ID,因此第三查詢表返回多個匹配的一些標識1.
您probaly有重複在ID第二個表中的記錄...因此你獲得更多...只是猜測......
也許你應該看看數據,並決定什麼正確的答案應該是,因此也是h查詢是否給你錯誤的答案? – araqnid 2010-06-09 18:34:25