У меня проблема с обновленной объединенной таблицей. Я успешно выбрал ожидаемый результат, но всегда получаю сообщение об ошибке при попытке обновить.
Выбрать запрос
select sale_id, price,cONVERT(sum(price) , decimal(10,2)) as average, s.total from sale_items i
JOIN sales s ON s.id = i.sale_id
where s.currency = 'USD'
and s.currency_total != 0
and s.`deleted_at` is null
and i.`deleted_at` is null
group by s.id
having s.total <> average;
Обновить запрос, который я пытался
UPDATE sale_items i
JOIN sales s ON s.id = i.sale_id
SET i.price=(i.price / (s.total/s.currency_total)), i.total=(i.total / (s.total/s.currency_total)), i.total_tax=(i.total_tax / (s.total/s.currency_total))
where s.currency = 'USD'
and s.currency_total != 0
and s.`deleted_at` is null
and i.`deleted_at` is null
group by s.id
having s.total <> average;
Ошибка: синтаксис для использования рядом с 'group by s.id, имеющим s.total <> средний'