Добавление значений столбцов вместе, чтобы сформировать 1 столбец результатов - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть система онлайн-продаж, которую я разрабатываю, и я работаю над системой оплаты счетов.

У меня есть общая сумма заказа, записанная в таблице базы данных вместе с самим заказом.

Пример: “SELECT total FROM Orders WHERE id = ‘1’”

Затем у меня есть еще одна таблица, которая включает отдельную запись для каждой финансовой транзакции (чек, копия и т. Д.)

Пример: “SELECT payment_amount FROM Payments WHERE order_id = ‘1’”

То, что я хотел бы сделать, это объединить эти два вместе при составлении некоторого отчета о том, какие заказы не были оплачены полностью, и получить остаток каждого заказа.Я хотел бы сделать это с помощью одного запроса, если это возможно ...

Это было то, что я пытался ...

“SELECT o.id as order_id, o.total, (SELECT p.payment_amount FROM Payments as p WHERE o.order_id = o.id) as amount_paid_plus FROM Orders as o”

Это прекрасно работает, если естьтолько 1 запись в платежах ... но если их два, я получаю эту ошибку

Подзапрос возвращает более 1 строки

Я хочу платежирезультаты таблицы должны быть объединены в единую сумму и возвращены как одна переменная в запросе

Мне также нужен запрос, чтобы по-прежнему возвращать информацию, даже если в таблице платежей нет платежей.Будет отображаться сумма, выплаченная как 0.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете просто изменить p.payment_amount на SUM(p.payment_amount) в своем подзапросе.Обратите внимание, что у вас есть ошибка в подзапросе, вероятно, это должно быть

(SELECT SUM(p.payment_amount) FROM Payments as p WHERE p.order_id = o.id)

Примечание изменить с o.order_id на p.order_id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...