このクエリを実行しています
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行を返します