0

我有一个包含一个employeeID和一个 SSN 字段的表。我正在尝试使用以下标准过滤掉所有记录:

具有单个 SSN 条目且值为 null 的所有员工

拥有多个 SSN 条目的所有员工

下面展示了三种场景

ID          SSN
1           000000000
1           NULL

ID          SSN
1           000000000
1           111111111

ID          SSN
1           NULL

这是表定义:我正在使用 Sybase 数据库中的数据填充此表

http://tinypic.com/r/65wvhi/6

谢谢,布拉德

4

2 回答 2

2
select  employeeID 
from    YourTable
group by 
        employeeID
having  count(case when SSN is null then 1 end) > 0
        or count(distinct SSN) > 1
于 2013-03-04T19:44:06.333 回答
1

您将为此使用聚合,并带有一个having子句:

 select e.id
 from ssns e
 group by e.id
 having (count(*) = 1 and count(ssn) = 0) or  -- first condition
        count(*) > 1   -- second condition
于 2013-03-04T19:45:06.737 回答