Pular para o conteúdo

Fóruns SQL e PL/SQL Ajuda com SQL Ajuda com SQL

#104261
Marcio Monteiro
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;