2017-01-31 2 views
1

У меня есть таблица, как:Объединение различных строк только один

GymMachine UsedHours Building Section 
    M1   5   A 
    M2   6   B 
    N1   3   A 

Через некоторое время кто-то заметил, что M1 и N1 сослались на одной машине (и это происходит с другими машинами) и теперь мне нужно найдите те строки, которые ссылаются на один и тот же компьютер, и «объедините» эти строки только одним. Используя mysql, для тех строк, которые представляют одну и ту же машину, мне нужно добавить их соответствующие UseHours и сохранить только одну из строк. Любые идеи, пожалуйста?

Благодаря

+0

Является ли 'GymMachine' уникальным? Если нет, не могли бы вы показать, как вам нужно объединить несколько строк M1 и N1? – Schwern

+0

Да, GymMachine уникален ... –

ответ

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'; 
Смежные вопросы