我有一张桌子
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)
但它不起作用.
这是一个简单的解决方案,可以同时修复两个案例:
UPDATE Employee
SET Gender = CASE Gender
WHEN 'M' THEN 'F'
WHEN 'F' THEN 'M'
END
Run Code Online (Sandbox Code Playgroud)