如何获取没有其他记录具有特定值的记录

时间:2014-02-26 09:04:16

标签: sql-server-2008

我有一个名为Employee的表,如下所示

Employee

在这个表中我想编写这样的查询,它会给我这样的员工,其reference_type不是1

Select * from Employee where Reference_Type <> 1 

这将给我所有可能的值期望'1'但我需要输出作为员工2,因为ithis员工没有Reference_Type 1。

2 个答案:

答案 0 :(得分:1)

我假设您希望所有没有记录的员工Reference_Type 1,请使用NOT EXISTS

SELECT e.*
FROM dbo.Employee e
WHERE NOT EXISTS
(
    SELECT 1 FROM dbo.Employee e2
    WHERE e2.pk_employee_id = e.pk_employee_id 
    AND   e2.Reference_Type = 1
)

答案 1 :(得分:0)

Select * from Employee where pk_employee_ID not in 
(select a.pk_employee_ID from Employee a where a. Reference_Type = 1)