来自同一表的记录的差异

时间:2011-12-02 02:27:01

标签: sql sql-server join

我有一个表,我从中获取记录两个时间间隔,如下所示。

Query1:

select distinct(Id) 
from dbo.tableA 
where datediff(hour, dtCreate, getdate()) < 24

Query2:
select distinct(Id) 
from dbo.tableA 
where datediff(hour, dtCreate, getdate()) < 48
and datediff(hour, dtCreate, getdate()) > 24

query1返回50条记录,query2返回45条记录。 在此之后,我想找到那些在query2中不存在但在query1中存在的记录。任何人都可以建议我怎么做?提前致谢。

1 个答案:

答案 0 :(得分:0)

您似乎想要计算设置差异,因此可以使用EXCEPT

select distinct(Id) 
from dbo.tableA 
where datediff(hour, dtCreate, getdate()) < 24
EXCEPT
select distinct(Id) 
from dbo.tableA 
where datediff(hour, dtCreate, getdate()) < 48
and datediff(hour, dtCreate, getdate()) > 24