--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
)