Как я могу обновить значения в двух таблицах значениями из другой таблицы с MySql - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть 3 таблицы, T1, T2, T3.Мне нужно обновить stock_status от T1 и ограниченный от T2 значениями из stock_status и ограниченный от T3, только если sku совпадают.Также entity_id является корреспондентом для product_id.

Вот изображение для лучшего понимания picture

Я застрял при перемещении значений из stock_status из T3 в stock_status из T1, так как я неимеют общее поле напрямую.

Для ограниченного поля я пробовал.

UPDATE t2,t3 INNER JOIN t3 on t2.sku = t3.sku SET t2.limited = t3.limited

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

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

UPDATE t1
        JOIN
    t2
        JOIN
    t3 
SET 
    t1.stock_status = t3.stock_status
WHERE
    t1.product_id = t2.entity_id
        AND t2.sku = t3.sku;

.

UPDATE t2
        JOIN
    t3 
SET 
    t2.limited = t3.limited
WHERE
    t2.sku = t3.sku;
0 голосов
/ 04 февраля 2019

Вы должны использовать добавить внутреннее соединение между t2 и t1 для обновления также t1.stock_status

  UPDATE t2,t1 
  INNER JOIN t3 on t2.sku = t3.sku 
  INNER JOIN t1 on t1.product_id = t2.entity_id
  SET t2.limited = t3.limited, 
      t1.stock_status = t3.stock_status
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...