Queremos construir um SQL cujo resultado seja, para cada cliente:
O cliente NOME DO CLIENTE comprou QUANTIDADE no ano de ANO Faça isso somente para o ano de 2016.
--clientes:
SELECT
'O cliente ' || UPPER(TDC.nome) || ' comprou R$ ' ||
TO_CHAR(ROUND(SUM(INF.quantidade * INF.preco),2)) ||
' no ano de ' || TO_CHAR(NF.data_venda,'YYYY') AS INFORMACAO
FROM notas_fiscais NF
INNER JOIN itens_notas_fiscais INF
ON nf.numero = inf.numero
INNER JOIN tabela_de_clientes TDC
ON NF.cpf = TDC.cpf
INNER JOIN tabela_de_vendedores TDV
ON NF.matricula = TDV.matricula
WHERE TO_CHAR(NF.data_venda, 'YYYY') = '2016'
GROUP BY TDC.nome, TO_CHAR(NF.data_venda,'YYYY');
--Vendedores:
SELECT
'O vendedor(a) ' || UPPER(TDV.nome) || ' ganhou comissão R$ ' ||
TO_CHAR(ROUND(SUM(TDV.percentual_comissao * (INF.quantidade * INF.preco)),2)) ||
' no ano de ' || TO_CHAR(NF.data_venda,'YYYY') COMISSAO_VENDAS
FROM tabela_de_vendedores TDV
INNER JOIN notas_fiscais NF
ON TDV.matricula = NF.matricula
INNER JOIN itens_notas_fiscais INF
ON NF.numero = INF.numero
WHERE TO_CHAR(NF.data_venda,'YYYY') = 2016
GROUP BY TDV.nome, TO_CHAR(NF.data_venda,'YYYY');
--Vendedor sem Vendas no ano de 2016:
SELECT
TDV.nome AS NOME_VENDEDOR,
INF.quantidade AS QUANTIDADE_VENDAS
FROM tabela_de_vendedores TDV
INNER JOIN notas_fiscais NF
ON TDV.matricula = NF.matricula
INNER JOIN itens_notas_fiscais INF
ON NF.numero = INF.numero
WHERE TDV.matricula = '00238'
AND TO_CHAR(NF.data_venda,'YYYY') = 2016;