SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 06.05.2011 17:21:09

andreyg
Участник
Зарегистрирован: 26.02.2011
Сообщений: 5

Удалить и вставить.

Есть таблица из одного поля (id).
Необходимо выбрать две строки из этой таблицы и вставить их в одну строку другой таблицы (id1,id2, cena,...)
После вставки удалить из первой таблицы две строки.
Можно ли запросами сделать данные операции? Подскажите как.

Неактивен

 

#2 06.05.2011 17:36:14

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Удалить и вставить.

Какие 2 строки? любые? Одним запросом это не сделаешь если конечно я Вас правильно понял, тут надо процедуру писать

Отредактированно simple (06.05.2011 17:39:33)

Неактивен

 

#3 06.05.2011 17:40:29

andreyg
Участник
Зарегистрирован: 26.02.2011
Сообщений: 5

Re: Удалить и вставить.

любые.

Неактивен

 

#4 06.05.2011 17:51:23

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Удалить и вставить.

а cena это что такое, откуда она берется? или уже она есть в таблице и нужно тока id,id2 втсавить?

Неактивен

 

#5 06.05.2011 18:00:04

andreyg
Участник
Зарегистрирован: 26.02.2011
Сообщений: 5

Re: Удалить и вставить.

несколько дополнительных полей, значения известны заранее.
Например:
table1
id
1
2
3
table2
пусто

Результат
table1
3
table2
id1 id2 cena
1   2    10
Где cena известна.

Неактивен

 

#6 06.05.2011 18:08:42

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Удалить и вставить.


START TRANSACTION;
INSERT INTO table2 (id1,id2,cena) SELECT t1.id,t2.id,10 FROM table1 t1,table1 t2 WHERE t1.id=@a:=1 AND t2.id=@b:=2;
DELETE FROM table1 WHERE id in (@a,@b);
COMMIT;
 

Отредактированно simple (06.05.2011 18:10:50)

Неактивен

 

#7 06.05.2011 18:15:21

andreyg
Участник
Зарегистрирован: 26.02.2011
Сообщений: 5

Re: Удалить и вставить.

Спасибо.

Отредактированно andreyg (06.05.2011 18:47:49)

Неактивен

 

Board footer

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