SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.08.2010 18:47:58

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Запись из одной таблицы в другую

Здравствуйте. У меня 2 таблицы примерно с таким содержанием.

tb
-----------------
id, category
1   1
1   3
1   1
2   2
2   1
3   1
-----------------

tb_index
-----------------
id, category
1   null
2   null
3   null
-----------------

Есть ли способ скопировать category из tb в tb_index причём не важно что в tb.category разные индексы т.е
необходимо получить следующий результат.

tb_index
-----------------
id, category
1   1
2   2
3   1
-----------------

Неактивен

 

#2 10.08.2010 19:16:58

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Запись из одной таблицы в другую

Что-нибудь такое?

UPDATE tb_index, tb
SET tb_index.category = tb.category
WHERE tb_index.id = tb.id
GROUP BY tb.id

Неактивен

 

#3 10.08.2010 19:38:37

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Запись из одной таблицы в другую

Большое спасибо вы мне очень помогли. Только с GROUP BY генерится ошибка

Код ошибки 1064, положение SQL 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY book.id' at line 4

а без GROUP BY запрос не будет таким эффективным.

Неактивен

 

#4 10.08.2010 19:52:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Запись из одной таблицы в другую

Хм, действительно, UPDATE не поддерживает GROUP BY sad

Тогда подзапросом:
UPDATE tb_index SET category = (SELECT category FROM tb WHERE tb.id = tb_index.id GROUP BY tb.id);

Неактивен

 

#5 10.08.2010 20:10:05

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Запись из одной таблицы в другую

Спасибо smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson