- 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