Я пытаюсь создать запрос, который выполняет вычисления в подзапросе, для которого требуется функция SUM и группа. Мой запрос возвращает ошибку «Subquery возвращает более 1 строки». По сути, я пытаюсь вернуть сумму «Due» для каждого заказа. Если общая сумма заказа больше суммы total_collected (для этого order_id) из таблицы платежей, будет причитаться сумма. Вот запрос:Mysql sub select с SUM() и группой
SELECT o.order_id
, o.server
, o.subtotal
, o.discount
, o.tax, o.total
, (SELECT (o.total - SUM(p.total_collected))
from orders o
join payments p
on o.order_id = p.order_id
group by p.order_id) as 'Due'
FROM orders o
join payments p
on o.order_id = p.order_id
WHERE...;
я не могу включить «p.order_id» в суб выбора, так как он должен содержать только один столбец. Я понимаю, почему я получаю сообщение об ошибке, я просто не знаю, как заставить sub select выполнять только SUM на основе per order_id.
Вы можете включить свой ожидаемый результат? –
См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql- query – Strawberry