Mysql на дублирующемся ключе обновляют + sub запрос

Используя ответ от этого вопроса: MySQL INSERT Потребности - Запрос Select для таблиц с миллионами записей

new_table
    * date
    * record_id (pk)
    * data_field


INSERT INTO new_table (date,record_id,data_field)
    SELECT date, record_id, data_field FROM old_table
        ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field;

Мне нужно это для работы с группой и соединением.. таким образом отредактировать:

INSERT INTO new_table (date,record_id,data_field,value)
    SELECT date, record_id, data_field, SUM(other_table.value) as value FROM old_table JOIN other_table USING(record_id) GROUP BY record_id
        ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field, value = value;

Я, может казаться, не обновляю значение. Если я указываю old_table.value, я становлюсь не определенным по ошибке cписка полей.

5
задан dreftymac 7 June 2019 в 09:06
поделиться

1 ответ

Во время поиска я нашел связанный вопрос: « MySQL ON DUPLICATE KEY UPDATE с обнуляемым столбцом в уникальном ключе ».

Ответ заключается в том, что VALUES () можно использовать для ссылки на столбец «значение» в подзапросе выбора.

4
ответ дан 13 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

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