SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.11.2024 14:29:59

Irit
Участник
Зарегистрирован: 25.09.2024
Сообщений: 5

Не работает функция SUM в UPDATE. Прошу помощи

Добрый день.
Подскажите, пжл, как решить проблему:
Мне необходимо обновить данные в таблице, присоединив 2ю таблицу
"UPDATE test  as t
LEFT JOIN revenue  as r  ON
        r.article = t.article
    AND t.date = r.date AND
        t.subdivision_two = r.subdivision_two
SET t.rd_quantity = (SELECT SUM(r2.quantity) as rd_quantity FROM revenue  AS r2 WHERE r2.article = t.article
      AND r2.date = t.date and r2.subdivision_two = t.subdivision_two GROUP BY r2.article, r2.date, r2.subdivision_two)"

Однако UPDATE возвращает не сумму quantity, а одно из значений.

Нюансы в том, что:
1. Данные из 2й таблица должны присоединяться к 1й при соответствии одновременно  и article, и date, и subdivision_two, т.к. для одного и того же article и date может быть разное значение subdivision_two
2. Для одного и того же article в один и тот же date может быть разные subdivision_two, а по ним могут быть разные quantity.
Например: article ABC, date = '2024-11-02', subdivision_two = 'QQ' со значениями 1 (первая строка) и 2 (вторая строка), subdivision_two = 'WW' со значениями 3 (первая строка) и 10 (вторая строка). Результат должен быть: article ABC, date = '2024-11-02', subdivision_two = 'QQ', quantity = 3; article ABC, date = '2024-11-02', subdivision_two = 'QQ', quantity = 13.

Заранее спасибо за помощь.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson