0
respostas

Desafio - participação de mercado

--view para obter o total das vendas
create view view_qtd_total_Vendas as
select count(*) as qtd_vendas
FROM itens_venda

--Mão na massa: calculando a participação de mercado de marcas e fornecedores

--participação de mercado das marcas
select nome_marca, qtd_venda, 
  round(100.0 * qtd_venda/(select * from view_qtd_total_Vendas),2) || '%' as percentual
from(
  select m.nome as nome_marca, count(iv.produto_id) as qtd_venda
  from itens_venda iv
  join vendas v on iv.venda_id = v.id_venda
  join produtos p on iv.produto_id = p.id_produto
  join marcas m on p.marca_id = m.id_marca
  group by m.nome
  order by qtd_venda desc
)

--participação de mercado dos fornecedores
select nome_fornecedor, qtd_venda, 
  round(100.0 * qtd_venda/(select * from view_qtd_total_Vendas),2) || '%' as percentual
from(
  select f.nome as nome_fornecedor, count(iv.produto_id) as qtd_venda
  from itens_venda iv
  join vendas v on iv.venda_id = v.id_venda
  join produtos p on iv.produto_id = p.id_produto
  join fornecedores f on p.fornecedor_id = f.id_fornecedor
  group by f.nome
  order by qtd_venda desc
)