@Kn94234

Как в mysql скопировать значения столбца из одной таблицы в другую, при наличии общего столбца?

Есть 2 таблицы: items (id, name, price и т.д.) и project_items (id, item_id, project_id, price_item и т.д.). Общие столбцы это id из items и item_id из project_items. В таблицу project_items в столбец price_item , нужно скопировать значения из столбца price в таблице items, при условии что значения id из items и item_id из project_items совпадают. Item_id могут попадаться множество раз и для каждой строчки должна соответствовать цена из price в таблице items/

Скрины таблиц: 5c012e2116852029255459.jpeg5c012e2a29865717399784.jpeg

В общем цены с одной таблицы надо скопировать в другую, в соответствии с id товаров.
Вообще необходимо сделать в php, но я пробывал через sql запросы. На данный момент ищу решение. Кто нибудь знает решение этой задачи?
  • Вопрос задан
  • 5300 просмотров
Решения вопроса 1
orlov0562
@orlov0562
I'm cool!
можно через inner join типа того
UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
SET t1.col1 = t2.col1, t1.col2 = t2.col2


или через подзапрос
UPDATE t1 SET col1 = (SELECT col1 FROM t2 WHERE id = t1.t2_id)


В php еще проще, делаешь запрос
$t2items = SELECT * FROM t2
потом foreach($t2items as $t2) по результатам и
UPDATE t1 ... WHERE t1.t2_id = t2.id
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kn94234 Автор вопроса
Спасибо, подзапросом очень коротко, быстро и просто сделал. Чуть позже через php сделаю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы