A solução proposta pela instrutor não contempla situações onde as pessoas tem exatamente o mesmo nome, acredito que o CPF deve ser adicionado no GROUP BY afim de resolver esse problema:
Scripts para gerar a situação de homônimos:
INSERT INTO TABELA_DE_CLIENTES (CPF, NOME, ENDERECO_1, ENDERECO_2, BAIRRO, CIDADE, ESTADO, CEP, DATA_DE_NASCIMENTO, IDADE, SEXO, LIMITE_DE_CREDITO, VOLUME_DE_COMPRA, PRIMEIRA_COMPRA)
VALUES ('58684211485', 'Abel Silva ', 'Rua Humaita', '', 'Humaita', 'Rio de Janeiro', 'RJ', '22000212', TO_DATE('1995-09-11','YYYY-MM-DD'), 22, 'M', 170000.0000, 26000, 0);
INSERT INTO NOTAS_FISCAIS (CPF, MATRICULA, DATA_VENDA, NUMERO, IMPOSTO)
VALUES ('58684211485','00238', TO_DATE('2016-05-17','YYYY-MM-DD'),88060,0.19);
INSERT INTO ITENS_NOTAS_FISCAIS (NUMERO, CODIGO_DO_PRODUTO, QUANTIDADE, PRECO)
VALUES (88060, '773912', 50, 9.44944);
Solução proposta:
SELECT
'O cliente ' || C.NOME || ' faturou ' ||
TO_CHAR(ROUND(SUM(B.QUANTIDADE * B.preco),2)) || ' no ano ' ||
TO_CHAR(DATA_VENDA, 'YYYY') AS RESULTADO
FROM NOTAS_FISCAIS A
INNER JOIN ITENS_NOTAS_FISCAIS B ON A.NUMERO = B.NUMERO
INNER JOIN TABELA_DE_CLIENTES C ON A.CPF = C.CPF
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
GROUP BY C.CPF, C.NOME, TO_CHAR(DATA_VENDA, 'YYYY')
ORDER BY C.NOME;
Obrigado!