我正在运行此查询
select *
from PortalUser
where ID not in (select distinct PortalUserID from LoginHistory where LoginDateTime > '10/1/2012')
获得0结果。
如果我跑
select distinct PortalUserID
from LoginHistory
where LoginDateTime > '10/1/2012'
我得到了预期的结果集。让我们说50结果
如果我跑
select *
from portalUser
我得到200个结果。
为什么会这样?
要清楚。 LoginHistory表的PortalUserID不必是唯一的,但PortalUser..ID是一个唯一的字段。
运行此查询
select count(ID)
from PortalUser
GO
select count(Distinct PortalUserID)
from LoginHistory where LoginDateTime > '10/1/2012''
返回119行和47行
答案 0 :(得分:0)
您的查询仅在子查询返回的ID
列表中选择PortalUserID
NOT 。 PortalUser中是否有记录没有从您的子查询返回的ID。