0

我正在运行此查询

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 行

4

1 回答 1

0

您的查询仅在子查询返回的列表中选择ID NOT 。PortalUserIDPortalUser 中是否有没有从您的子查询返回的 ID 的记录。

于 2012-10-30T18:59:39.787 回答