Sql server 2008 如何获取没有其他记录具有特定值的记录
我有一个名为Sql server 2008 如何获取没有其他记录具有特定值的记录,sql-server-2008,Sql Server 2008,我有一个名为Employee的表,如下所示 在这个表中,我想写这样一个查询,它将为我提供引用类型不是1的员工 Select * from Employee where Reference_Type <> 1 从引用类型为1的员工中选择* 这将为我提供除“1”之外的所有可能值,但我需要输出为员工2,因为该员工没有引用类型1。我假设您希望所有没有引用类型1的员工,请使用不存在的: SELECT e.* FROM dbo.Employee e WHERE NOT EXISTS (
Employee
的表,如下所示
在这个表中,我想写这样一个查询,它将为我提供引用类型不是1的员工
Select * from Employee where Reference_Type <> 1
从引用类型为1的员工中选择*
这将为我提供除“1”之外的所有可能值,但我需要输出为员工2,因为该员工没有
引用类型
1。我假设您希望所有没有引用类型
1的员工,请使用不存在的:
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,2,4)、(1,3,3)、(2,1,3)、(2,2,4)、(2,3,5)、(3,2,2)、(3,3,4))。如果这是不正确的,请详细说明您希望看到的结果。如果这不是您得到的结果,请提供您得到的结果。查询看起来是正确的。您通过什么方式获得错误的数据?缺行?引用类型为1的行?这不会返回任何员工,因为每个员工都有一个引用类型1。对不起,输入错误,它应该是“引用类型=1”。这将返回不正确和不需要的数据,因为您将得到没有引用类型1的员工,但其他2名员工将在我发布的示例中列出。。。
Select * from Employee where pk_employee_ID not in
(select a.pk_employee_ID from Employee a where a. Reference_Type = 1)