2015-12-28 8 views
-3

У меня есть два набора записей из одной таблицы:Merge/Обновление записей из одной таблицы

SELECT * FROM userconfig WHERE userid = 'user1' 

И

SELECT * FROM userconfig WHERE userid = 'user2' 

Я хотел бы обновить или объединить (все, что проще) один столбец определенный набор записей пользователя в набор записей другого пользователя. IE: user1 имеет столбец configvalue, значения которого я хочу вставить в user2'sconfigvalue column. Мне нужно, чтобы оба столбца имели одинаковое значение. Каков самый простой способ достичь этого?

+1

некоторые примеры данных помогут вам. также отправьте свою попытку –

+0

Что вы имеете в виду по набору записей? Вы говорите, что у вас есть два оператора 'select', которые обеспечивают вывод? Вы хотите «объединить» результаты? –

+0

Вам нужны два идентичных набора записей? – dfundako

ответ

1
Update 
    user2.userkey = user1.userkey, 
    user2.uservalue = user1.uservalue 
FROM 
    MyTable user2 INNER JOIN MyTable user1 ON user1.YourKey = user2.YourKey 

Та же таблица, MyTable (замените таблицей имя). Присоедините эту таблицу к себе на основе столбца YourKey (замените YourKey столбцом, в котором совпадает соединение).

Затем просто назначьте значения псевдонима user1 в user2. Ключом являются псевдонимы и присоединение к одной и той же таблице.