Fiz essa modificação, pq funcionou?
SELECT A.CPF, A.NOME, B.CPF FROM tabela_de_clientes A
LEFT JOIN notas_fiscais B
ON A.CPF = B.CPF
GROUP BY A.CPF;
Fiz essa modificação, pq funcionou?
SELECT A.CPF, A.NOME, B.CPF FROM tabela_de_clientes A
LEFT JOIN notas_fiscais B
ON A.CPF = B.CPF
GROUP BY A.CPF;
Vitor,
Como disse o Shrek: "- Good question".
Putz, é mais difícil explicar do que entender... mas vou tentar explicar:
A função do DISTINCT é ELIMINAR registros duplicados dependendo de TODOS os campos listados no respectivo SELECT.
A função do GROUP BY é AGRUPAR campo(s) duplicado(s) usando uma FUNÇÃO agregada, exemplos: "COUNT", "SUM", "MAX", "MIN", etc....
Você pode combinar as duas funções também.
Montei um exemplo que ficou um pouco tosco... veja que no GROUP BY estão TODOS os CODIGO_DO_PRODUTO da tabela, isso NÃO é possível no DISTINCT.
-- 1 registro encontrado:
SELECT DISTINCT CODIGO_DO_PRODUTO, COUNT(quantidade)
FROM itens_notas_fiscais
ORDER BY CODIGO_DO_PRODUTO;
-- 30 registros encontrados:
SELECT CODIGO_DO_PRODUTO, COUNT(quantidade)
FROM itens_notas_fiscais
GROUP BY CODIGO_DO_PRODUTO
ORDER BY CODIGO_DO_PRODUTO;
Segue alguns links interessantes que você precisa ler:
==========================================================
GROUP BY x vs DISTINCT( x )
https://stackoverflow.com/questions/24335910/group-by-x-vs-distinct-x
==========================================================
A Cláusula SELECT DISTINCT em SQL
A sua tabela pode conter valores duplicados numa coluna e em certos cenários pode necessitar de ir buscar apenas registos únicos à tabela.
Para remover os registos duplicados para os dados obtidos com a instrução SELECT, pode utilizar a cláusula DISTINCT como se mostra nos exemplos abaixo.
A cláusula DISTINCT com GROUP BY example
A seguinte consulta vai buscar os registos à mesma tabela utilizada nos exemplos acima e agrupa os funcionários que pagaram salários. Para isso, as cláusulas GROUP BY e DISTINCT são utilizadas da seguinte forma:
https://homehealthcarereport.com/pt/a-cl%C3%A1usula-select-distinct-em-sql/
==========================================================
MySQL – GROUP BY – Agrupamento de Registros
http://www.bosontreinamentos.com.br/mysql/mysql-group-by-agrupamento-de-registros-26/
==========================================================
Ixi... eu mesmo não gostei muito desta explicação... mas espero que você tenha entendido...
[]'s,
Fabio I.