1
resposta

consulta aos 00:08:00h filtro de 2015

Como assim na consulta geral um cliente não fez nenhuma compra mas quando ele usa where year(b.data_venda) = 2015 ele diz que todos fizeram compra nesse ano? Não pareceu coerente pra mim...

1 resposta

Olá Cadujuca, tudo bem? Essa query:

SELECT DISTINCT A.CPF, A.NOME, B.CPF FROM tabela_de_clientes A 
LEFT JOIN notas_fiscais B ON A.CPF = B.CPF
WHERE B.CPF IS NULL AND YEAR(B.DATA_VENDA) = 2015;

É para retornar os clientes que não realizaram nenhuma compra no ano de 2015, porém como ele mesmo fala, todos os clientes fizeram alguma comprar, seja apenas uma compra ou duas, ou mais, todos compraram no ano de 2015, então a consulta não mostra nenhum resultado, porque estamos considerando o lado esquerdo do JOIN que no caso é a tabela de notas fiscais, assim todos os clientes que estão na tabela de clientes, tem pelo menos uma compra registrada na tabela de notas fiscais, por isso a consulta não mostra resultados.

Espero ter ajudado!