我有一张表:
GymMachine UsedHours Building Section
M1 5 A
M2 6 B
N1 3 A
过了一段时间后,有人注意到M1和N1引用了同一台机器(这种情况发生在其他机器上),现在我需要找到那些引用同一台机器的行,并且"合并"这些行只有一个。使用mysql,对于代表同一台机器的那些行,我需要添加它们各自的UsedHours并保留其中一行。有什么想法吗?
由于
答案 0 :(得分:1)
假设我们想将M1合并到N1并保留M1,假设GymMachine是独一无二的......
UPDATE machines
SET UsedHours = UsedHours + (SELECT UsedHours FROM machines WHERE GymMachine = 'N1')
WHERE GymMachine = 'M1';
可能有一种更优雅的方式,但子查询可以正常工作。
然后删除N1。
DELETE FROM machines WHERE GymMachine = 'N1';