列值重复时隐藏行

时间:2015-06-13 11:07:59

标签: sql-server duplicates hide

我有一个名为“letters”的表格,其中两列如下所示:

case_nr | date
--------+-----------------------
1       | 2015-06-13 12:45:04
1       | NULL
2       | 2015-06-11 12:45:09
3       | 2015-06-12 17:41:49
3       | 2015-06-13 18:42:99

case_nr 1打印了2个字母,但只发送了一个

我想过滤所有发送所有信件的日期(有日期)

所以在这种情况下结果应该是:

2
3

3 个答案:

答案 0 :(得分:3)

您可以将DISTINCTNOT IN

一起使用
SELECT DISTINCT case_nr
FROM TableName
WHERE case_nr NOT IN 
          (SELECT case_nr FROM TableName WHERE [date] IS NULL )

结果:

case_nr
--------
2
3

SQL Fiddle中的示例结果。

答案 1 :(得分:2)

case_nr分组,只拍摄那些没有date is null

记录的人
select case_nr
from your_table
group by case_nr
having sum(case when date is null then 1 else 0 end) = 0

SQLFiddle demo

答案 2 :(得分:0)

作为替代方案:

rpm -qf