我一直在用谷歌搜索并寻找解决问题的好方法,但我找不到任何东西。
我有两个表:table1 和 table2,我想在 table1 中找到 table2 中不存在的所有唯一电子邮件。
第一个查询返回 1420 的 int 结果,第二个查询返回总计数为 1431 的行集。
这怎么可能?我想这与我选择名称和状态有关吗?
select
Count(DISTINCT(Email))
from
table1 t1
where
t1.siteId = 4
and t1.Email not in (select Email from table2 t2 where t2.SiteId = 4)
go
WITH MyPage AS
(
SELECT DISTINCT(t1.Email),
t1.Name,
t1.[Status],
ROW_NUMBER() OVER (partition by t1.Email ORDER BY t1.Name) AS Apperences,
ROW_NUMBER() OVER (ORDER BY t1.Name) AS RowNumber
FROM
table1 t1
WHERE
t1.siteId = 4
AND t1.Email NOT IN (SELECT Email FROM table2 t2 WHERE t2.SiteId = 4)
)
SELECT
Email, Name, [Status]
FROM
MyPage
WHERE
RowNumber => 0 and RowNumber <= 50000
我知道我可以在最后一个选择上添加“不同”,但这会搞砸我想要的分页......