在SQL Server中的单个更新查询中使用两个以上的where子句

Sim*_*mba 2 sql sql-server

我有一张桌子

EmpId   EmpName   ManagerId   Gender                  
1       Shahzad       2         M         
2       Santosh       1         F         
3       Sayanhi       2         M         
Run Code Online (Sandbox Code Playgroud)

错误地,"M"被分配给女性员工,"F"被分配给男性员工.所以我需要编写一个查询来进行修正.

我尝试了以下查询.

UPDATE Employee 
SET Gender='M' 
WHERE EmpId IN (SELECT EmpId FROM Employee WHERE Gender='F') 
  AND Gender='F'
WHERE EmpId IN (SELECT EmpId FROM Employee WHERE Gender='M')
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Tab*_*man 9

这是一个简单的解决方案,可以同时修复两个案例:

UPDATE Employee
SET Gender = CASE Gender
  WHEN 'M' THEN 'F'
  WHEN 'F' THEN 'M'
END
Run Code Online (Sandbox Code Playgroud)