› Fóruns › SQL e PL/SQL › Ajuda com SQL › Ajuda com SQL
14 de agosto de 2012 às 3:10 pm
#104261
Participante
Olá,
Vê se assim funciona:
with tmp as (SELECT DISTINCT
NOME,
To_Char(DATANASCIMENTO,’YYYY’) ANO_NASCIMENTO,
TO_CHAR(SYSDATE,’YYYY’)-TO_CHAR(DATANASCIMENTO,’YYYY’) IDADE,
CASE
WHEN TO_CHAR(SYSDATE,’YYYY’)-TO_CHAR(DATANASCIMENTO,’YYYY’)=’18’ AND TO_CHAR(SYSDATE,’YYYY’)-TO_CHAR(DATANASCIMENTO,’YYYY’)’25’ AND TO_CHAR(SYSDATE,’YYYY’)-TO_CHAR(DATANASCIMENTO,’YYYY’)’35’ AND TO_CHAR(SYSDATE,’YYYY’)-TO_CHAR(DATANASCIMENTO,’YYYY’)’50’ THEN ‘ACIMA DE 50 ANOS’
END INTERVALO
FROM PESSOAS
WHERE INATIVO=’0′ AND TIPOPESSOA=’F’
ORDER BY NOME)
Select INTERVALO,count(*) from tmp group by INTERVALO;