1
resposta

having subConsultas

Em relação ao exercício de HAVING e sub consulta Qual seria a consulta, usando sub-consulta, que seria equivalente a: SELECT CPF, COUNT() FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF HAVING COUNT() > 2000

RESPOSTA DO PROFESSOR SELECT X.CPF, X.CONTADOR FROM (SELECT CPF, COUNT(*) AS CONTADOR FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF) X WHERE X.CONTADOR > 2000

Minha duvida é o seguinte Não pode usar o having na subquerys no lugar do where ? quando eu usei aconteceu o erro que não pode usar,fiquei na duvida porque quando usamos funções de agregação pensei que sempre usa-se o having .

exemplo

SELECT TABELA_NOVA.CPF,TABELA_NOVA.CONTADOR FROM (SELECT CPF, COUNT(*)AS CONTADOR FROM [NOTAS FISCAIS] WHERE YEAR(DATA) = 2016 GROUP BY CPF) TABELA_NOVA HAVING TABELA_NOVA.CONTADOR > 200

1 resposta

Anderson, o WHERE é o filtro de seleção de linhas, assim como o HAVING é o filtro de seleção do agrupamento de linhas recém feito pelo GROUP BY.

Posso ou não usar HAVING mas nunca sem group by.

Se consegui te ajudar, marque a resposta como Solucionada! Abs