Как создать промежуточный итог в SQL с данными из другой таблицы - PullRequest
0 голосов
/ 24 сентября 2019

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

Вот мой sql, который покажет всетранзакции:

select c.name, c.zip, i.total, i.salestax from customer c, invoice i
where i.sdate >= '2019-09-01' and i.sdate <= '2019-09-30' and 
c.accountnum=i.customernr
order by c.zip

Я пытался добавить SUM к итогу и налогу с продаж, но если я это сделаю, я получу ошибку SQL.

Любая помощь будет оценена.

Спасибо, KHJ

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Вот ваш запрос, вы можете использовать sum() and group-by, чтобы получить ваш результат

select c.name, c.zip, sum(i.total) as total, sum(i.salestax) as tax
from  invoice i
inner join customer c on c.accountnum=i.customernr
group by c.zip, c.name
where i.sdate >= '2019-09-01' and i.sdate <= '2019-09-30' 
order by c.zip
1 голос
/ 24 сентября 2019

Если вы хотите получить итоги по почтовому индексу, то это должен быть единственный ключ, по которому вы группируете.И тогда вам нужны функции агрегирования:

select c.zip, sum(i.total), sum(i.salestax)
from customer c join
     invoice i
     on c.accountnum = i.customernr
where i.sdate >= '2019-09-01' and i.sdate <= '2019-09-30' 
group by c.zip
order by c.zip
...