2016-05-15 57 views
0

我如何找到基于同一个表的两个选择语句之间的差异?例如:基于上面的select语句SQL Server 2008 R2 - 发现选择语句之间的差异

SELECT ID 
FROM Table as TableA 
WHERE Date = '2016-04-30' 

,我想找到的是不存在的所有ID:

SELECT ID 
FROM Table as TableB 
WHERE Date = '2016-03-31' 

回答

1

较早的答案是一个聪明的一个。这是一个简单的方法。

Select ID from Table 
where Date = '2016-04-30' 
and ID not in (select ID from Table where Date = '2016-03-31') 
+0

谢谢。这是我正在寻找的。 –

1
SELECT ID 
FROM Table 
group by ID 
having sum(case when Date = '2016-04-30' then 1 else 0 end) > 0 
    and sum(case when Date = '2016-03-31' then 1 else 0 end) = 0