MySQL обновляет объединенную таблицу

Я хочу обновить таблицу в операторе, который имеет несколько объединений. Хотя я знаю, что порядок объединений на самом деле не имеет значения (если вы не используете подсказки оптимизатора), я заказал их определенным образом, чтобы они были наиболее интуитивно понятными для чтения. Однако это приводит к тому, что таблица, которую я хочу обновить, не является той, с которой я начинаю, и у меня возникают проблемы с ее обновлением.

Фиктивный пример того, что я хотел бы сделать, выглядит примерно так:

UPDATE b
FROM tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;

Здесь есть много сообщений об обновлении с помощью объединений, однако у них всегда сначала обновляется таблица. Я знаю, что это возможно в SQL Server, и, надеюсь, это возможно и в MySQL тоже!

39
задан simhumileco 18 October 2019 в 14:17
поделиться