Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre a necessidade do uso do ALIAS

Olá, pessoal. Uma dúvida: ao escrever o código me surgiu a dúvida sobre a necessidade de atribuirmos um ALIAS para o "COUNT(*)" quando nos referenciarmos a ele no linha do SELECT e na do WHERE. Vocês poderiam me dar uma luz sobre qual seria o racional por detrás da necessidade do uso do ALIAS para essa situação, por gentileza?

Seguem abaixo os dois códigos, o primeiro sem o uso do ALIAS e o segundo com o uso dele.

--SUBQUERY (tentativa sem êxito)
SELECT NCNotasFiscais.CPF, NCNotasFiscais.COUNT(*)
FROM (SELECT CPF, COUNT(*) FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF) NCNotasFiscais
WHERE NCNotasFiscais.COUNT(*) > 2000

--SUBQUERY (tentativa com êxito)
SELECT NCNotasFiscais.CPF, NCNotasFiscais.Conta
FROM (SELECT CPF, COUNT(*) AS Conta FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF) NCNotasFiscais
WHERE NCNotasFiscais.Conta > 2000

Desde já, obrigado, pessoal.

2 respostas
solução!

Olá, Felipe, tudo bem?

Peço desculpas pela demora no retorno.

Uma das utilizações do ALIAS, é atribuir um "Apelido" a coluna gerada por uma função, como o COUNT.

Neste caso, ao utilizar uma função de agregação em uma subconsulta, é necessário atribuir um "Apelido" a coluna, como no caso da função de agregação COUNT presente na subconsulta, caso contrário, um erro será retornado.

Então, ao se referir a função de agregação da subconsulta, é necessário utilizar o ALIAS, por este motivo a sua primeira consulta não funcionou.

Espero ter ajudado e bons estudos!

Boa tarde, Danielle. Vou bem e você?

Perfeitamente, a sua explicação foi suficiente. Muitíssimo obrigado.

Abraços.