Подтвердить что ты не робот

MYSQL, копирование выбранных полей из одной таблицы в другую

В MySQL, как мне скопировать FIELD со всеми RECORDS из TABLE1 в TABLE2, который соответствует первичному ключу, т.е.: EMPLOYEE no.?

4b9b3361

Ответ 1

Попробуйте это

INSERT INTO `table2` (`field_name2`) SELECT `field_name` FROM `table1`

Ответ 2

Если вы хотите обновить один столбец таблицы, используя другой столбец таблицы, то вот несколько вариантов:

  • Соединение:

    UPDATE table1 AS t1
      INNER JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
    SET t1.SomeColumn = t2.SomeColumn
    

    В качестве альтернативы это может быть левое соединение:

    UPDATE table1 AS t1
      LEFT JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
    SET t1.SomeColumn = t2.SomeColumn
    

    который по существу пуст (установите в NULL) значения, в которых не было совпадений.

  • Подзапрос:

    UPDATE table1
    SET SomeColumn = (
      SELECT SomeColumn
      FROM table2
      WHERE EmployeeNo = table1.EmployeeNo
    )
    

    Это эквивалентно решению левого соединения в # 1.

Обратите внимание, что во всех случаях предполагается, что строка в table1 может соответствовать не более одной строке в table2.

Ответ 3

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

Insert into table2 (field1, field2)  select field1, field2 from table1


Если вы хотите скопировать только выбранные значения, используйте предложение where в запросе

Insert into table2 (field1, field2)  select field1, field2 from table1 where field1=condition


Ответ 4

update
  table1 t1
  join table2 t2 on t2.field = t1.field
set
  t1.field1 = t2.matchingfield
where
  t1.whatever = t2.whatever

Ответ 5

Вы можете использовать это, чтобы скопировать все записи из table1 в table2 с условием.

Insert into table2  select  * from table1 where field1=condition

Ответ 6

INSERT INTO table_1 (column-1, column-2) SELECT column-1, column-2 FROM table_2;