1
resposta

RESULTADO DIFERENTE

BOM DIA,

ESTOU COM UM PROBLEMA EU COMPAREI A MINHA RESPOSTA COM A RESPOSTA DO PROFESSOR E O RESULTADO NAO ESTA BATENDO (OLHE O SEGUNDO CLIENTE POR EXEMPLO) VOCE PODERIA ME EXPLICAR O QUE ESTA ACONTECENDO. A PRIMEIRA SENTENCA E MINHA E A SEGUNDA E DO PROFESSOR MINHA RESPOSTA

SELECT NOME, 
CASE 
WHEN YEAR([DATA DE NASCIMENTO])>1990 THEN 'ADULTO'
WHEN YEAR([DATA DE NASCIMENTO])>=1990 AND YEAR([DATA DE NASCIMENTO])<=1995 THEN 'JOVEM'
ELSE 'CRIANCA' END AS [CLASSIFICACAO ETARIA] FROM [TABELA DE CLIENTES]

RESPOSTA DO PROFESSOR

select [NOME],
case 
    when year([DATA DE NASCIMENTO]) < 1990 then 'Adulto'
    when year([DATA DE NASCIMENTO]) between 1990 and 1995 then 'Jovem'
    else 'Criança' end as [Classificação Etária]
 from [TABELA DE CLIENTES]
1 resposta

Olá, Vagner, tudo bem?

Existe uma pequena diferença entre a sua query e a query do instrutor, no primeiro WHEN, você utilizou o operador de comparação maior que (>) ao invés de utilizar o menor que (<). Dessa forma, todos os clientes que têm o ano de nascimento maior que 1990, vão ser classificados como adultos e os outros serão classificados como crianças.

Tente executar a sua query da seguinte forma:

SELECT NOME, 
CASE 
WHEN YEAR([DATA DE NASCIMENTO])<1990 THEN 'ADULTO'
WHEN YEAR([DATA DE NASCIMENTO])>=1990 AND YEAR([DATA DE NASCIMENTO])<=1995 THEN 'JOVEM'
ELSE 'CRIANCA' END AS [CLASSIFICACAO ETARIA] FROM [TABELA DE CLIENTES]

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!