скопировать таблицу

Статус
В этой теме нельзя размещать новые ответы.

sultan347

Участник
Регистрация
25 Апр 2009
Сообщения
230
Реакции
7
Как скопировать данные из tabl1 в tabl2 попутно умножив данные на коэффициент?
 
PHP:
$query = "SELECT * FROM tabl1";
$res = mysql_query($query);
while($arr = mysql_fetch_array($res)) {
  $arr['some_field'] *= 0.75 // коэффициент
  $query = "INSERT INTO tabl2 SET .....";
  mysql_query($query);
}

Чем спрашивать на форуме и ждать ответа как это сделать одним sql, уже б давно наваял бы подобный скриптик и забыл. :)
 
INSERT INTO имя_таблицы [(имена_столбцов, ...)] SELECT имена_столбцов, ... FROM имя_таблицы, ... [WHERE ...];
Данные копируются в уже существующую таблицу.
Например
INSERT INTO tbl2 (field1,field2,field2) SELECT field1,5*field2,filed3 FROM tbl1
Проверял на MySql.
 
PHP:
CREATE TABLE tabl2 SELECT * FROM tabl1;
UPDATE tabl2 SET field2=field2*coeff;
 
select CONCAT(ПРОИЗВОДИТЕЛЬ,МАРКА) as ПОЛНОЕ_НАЗВАНИЕ from ТАБЛИЦА

копай короче в сторону CONCAT
 
Нужно еще чтобы общая длина нового поля не превышала допустимые размеры.
 
Нужно еще чтобы общая длина нового поля не превышала допустимые размеры.

Код:
select LEFT(CONCAT(ПРОИЗВОДИТЕЛЬ,МАРКА), МАКСИМАЛЬНАЯ_ДЛИНА_ПОЛЯ) as ПОЛНОЕ_НАЗВАНИЕ from ТАБЛИЦА
 
Можно объединить код Unabashed и diavolic и сделать создание и заполнение одним запросом:

CREATE TABLE tabl2 SELECT field1,5*field2,filed3 FROM tbl1;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху