Buscar

sql respostas

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

--set search_path = exercicio01
-- total vendido entre janeiro e agosto de 2017
select 
	sum(quantidade) as total_itens_vendidos,
 sum(valor) as total_monetario_vendido
from notafiscal n
join item i on i.notafiscal_id = n.id
where n.data between '2017-01-01 00:00:00' and '2017-08-31 23:59:59'
-- total vendido por produto (valor e quantidade)
select
	p.nome,
	sum(quantidade) as total_itens_vendidos,
 sum(i.valor) as total_monetario_vendido
from notafiscal n
join item i on i.notafiscal_id = n.id
join produto p on p.id = i.produto_id
group by p.nome
-- qual o cliente que comprou em maior número
select
 c.nome,
 sum(quantidade) as total_itens_comprados
from notafiscal n
join item i on i.notafiscal_id = n.id
join cliente c on c.id = n.cliente_id
group by c.nome
having sum(quantidade) = (
 select max(total_itens_comprados)
 from (
 select
 c.nome,
 sum(quantidade) as total_itens_comprados
 from notafiscal n
 join item i on i.notafiscal_id = n.id
 join cliente c on c.id = n.cliente_id
 group by c.nome
 ) s 
)
-- liste as notas fiscais com o valor total e a quantidade de itens
select
	n.*,
	count(quantidade) as total_itens_vendidos,
	sum(quantidade) as total_itens_vendidos,
 sum(i.valor) as total_monetario_vendido
from notafiscal n
join item i on i.notafiscal_id = n.id
group by n.id
-- liste o total de vendas por mes entre janeiro e agosto de 2017
select 
	extract(month from "data") as mes,
 sum(valor) as total_nota
from notafiscal n
join item i on i.notafiscal_id = n.id
where n.data between '2017-01-01 00:00:00' and '2017-08-31 23:59:59'
group by 	
	extract(month from "data")

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais