如何在SQL中交换记录。我有一个案例,我必须将一名员工的记录交换到另一名员工,例如我必须更新,如“头上的 A帽子和A头上的B帽子”。 只有我需要查询,我有字段。
这应该是最好的方法?有没有简单的查询呢?
答案 0 :(得分:3)
hats和员工'A'和'B'的示例,使用员工表上的self-join进行MySQL:
UPDATE
employees AS e1
JOIN
employees AS e2 ON (e1.employee_id = 'A' AND e2.employee_id = 'B')
SET
e1.hat = e2.hat,
e2.hat = e1.hat;
进一步阅读:
答案 1 :(得分:2)
declare @hatIdA int
declare @hatIdB int
select @hatIdA = hatId from employees where empID = 'A'
select @hatIdB = hatId from employees where empID = 'B'
update employees set hadId = @hatIdB where empID = 'A'
update employees set hadId = @hatIdA where empID = 'B'
我会这样做......