Por que nesse código tenho que utilizar o group by para rodar:
SELECT [NOME DO PRODUTO], CASE WHEN [PREÇO DE LISTA] >= 12 THEN 'PRODUTO CARO' WHEN [PREÇO DE LISTA] >= 7 AND [PREÇO DE LISTA] < 12 THEN 'PRODUTO EM CONTA' ELSE 'PRODUTO BARATO' END, AVG([PREÇO DE LISTA]) FROM [TABELA DE PRODUTOS] GROUP BY [NOME DO PRODUTO], CASE WHEN [PREÇO DE LISTA] >= 12 THEN 'PRODUTO CARO' WHEN [PREÇO DE LISTA] >= 7 AND [PREÇO DE LISTA] < 12 THEN 'PRODUTO EM CONTA' ELSE 'PRODUTO BARATO' END
Enquanto no código abaixo não preciso do GROUP BY?
SELECT [NOME], CASE WHEN YEAR([DATA DE NASCIMENTO]) < 1990 THEN 'ADULTOS' WHEN YEAR([DATA DE NASCIMENTO]) between 1990 and 1995 THEN 'JOVENS' ELSE 'CRIANÇAS' END FROM [TABELA DE CLIENTES]
Retirei do primeiro script a linha AVG([PREÇO DE LISTA]) mas não me parece ser isso a interferência.