Запрос, включая сумму из двух таблиц и присоединиться к ним

У меня есть две таблицы:

Счет-фактура

id | name | invoice_number | invoice_total

бухгалтерский баланс

id | name | invoice_number | amount_received | discount

Я хочу, чтобы запрос SQL присоединился к ним, сгруппированным по имени, и хочу, чтобы сумма invoice_total из таблицы счетов, а также сумма сумма_полученных сумм и сумма скидки для отдельного имени из таблицы баланса.

Результат должен быть:

    name | sum(invoice_total) | sum(amount_received) | sum(discount)

Любая помощь будет принята с благодарностью.

-3

Решение

Предполагая, что вам нужно только точное совпадение для обеих сказок между именами. Вы можете использовать внутреннее соединение и группировать по

 select table_1.name, sum(a.invoce_total), sum(AMOUNT_RECEIVED), sum(DISCOUNT)
from invoice table_1
inner join BALANCESHEET table_2 on table_1.name = table_2.name
group by table_1.name

если вам нужно также частичное совпадение, вы можете использовать левое соединение

 select table_1.name, sum(a.invoce_total), sum(AMOUNT_RECEIVED), sum(DISCOUNT)
from invoice table_1
left join BALANCESHEET table_2 on table_1.name = table_2.name
group by table_1.name
1

Другие решения

Возможно, потребуется немного настроить, чтобы учесть структуру вашей базы данных, но попробуйте это:

select
sum(invoice.invoice_total) - sum(balancesheet.amount_received) - sum(balancesheet.discount) as total
from
invoice
left join
balancesheet
on
invoice.name = balancesheet.name
group by
invoice.name
0

Пытаться

SELECT
`NAME`,
SUM(`INVOICE_TOTAL`) AS invTotal,
SUM(`AMOUNT_RECEIVED`) AS amtRxd,
SUM(`DISCOUNT`) AS totalDiscount
FROM `TABLE-1` T1
LEFT JOIN `TABLE-2` T2
ON T1.NAME=T2.NAME
GROUP BY T1.NAME
0
По вопросам рекламы [email protected]