Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 1049 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

ola, Alguem pode me dar uma orientação como faria para trazer clientes com faixas de idades de sql exemplo cliente de 30 /40 anos tem x de 41 a 51 tem y
eu estou fazendo assim mais traz todas as  idades

 

              SELECT

 EXTRACT(YEAR FROM CURRENT_DATE) -  EXTRACT(YEAR FROM C.DATNASC) IDADE, p.nomplano

FROM TAB_CLIE C
inner JOIN tab_cont p1 ON (p1.codclie = c.codclie)

lEFT JOIN tab_plano p ON (p.codplano = p1.codplan)
group by

 EXTRACT(YEAR FROM CURRENT_DATE) -  EXTRACT(YEAR FROM C.DATNASC), p.nomplano

Link para o comentário
Compartilhar em outros sites

tentei assim tambem nao deu 

 select  count(*),

 case when trunc((CURRENT_DATE - C.DATNASC) / 365.25) <= 20 then
         'ate 20'
          when trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 21 and 31 then
         'de 25 a 30'
         when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 32 and 41 then
         'de 31 a 35'  end


         FROM TAB_CLIE C
inner JOIN tab_cont p1 ON (p1.codclie = c.codclie)

lEFT JOIN tab_plano p ON (p.codplano = p1.codplan)
group by

CURRENT_DATE - C.DATNASC, p.nomplano

Link para o comentário
Compartilhar em outros sites

20 minutos atrás, BigWings disse:

Tente trocar para:


group by
  2

 

nao sei fiz errado vc diz assim:

 

 select  count(*),

 case when trunc((CURRENT_DATE - C.DATNASC) / 365.25) <= 20 then
         'ate 20'
          when trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 21 and 31 then
         'de 25 a 30'
         when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 32 and 41 then
         'de 31 a 35'  end  , p.nomplano


         FROM TAB_CLIE C
inner JOIN tab_cont p1 ON (p1.codclie = c.codclie)

inner JOIN tab_plano p ON (p.codplano = p1.codplan)


group by
  2

 

deu erro

Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

Link para o comentário
Compartilhar em outros sites

select  count(*),

 case when trunc((CURRENT_DATE - C.DATNASC) / 365.25) <= 20 then
         'ate 20'
          when trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 21 and 31 then
         'de 25 a 30'
         when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 32 and 41 then
         'de 31 a 35'  end, p.nomplano


         FROM TAB_CLIE C
inner JOIN tab_cont p1 ON (p1.codclie = c.codclie)

lEFT JOIN tab_plano p ON (p.codplano = p1.codplan)
group by

CURRENT_DATE - C.DATNASC, p.nomplano


ele so ao grupa o resultado

Link para o comentário
Compartilhar em outros sites

obrigado fiz assim deu certo

 

select  count(*),

 case when trunc((CURRENT_DATE - C.DATNASC) / 365.25) <= 20 then
         'GRUPO 1 -> até 20'
          when trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 21 and 30 then
         'GRUPO 2 -> 21 a 30'
         when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 31 and 41 then
         'GRUPO 3 -> 31 a 41'
           when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 42 and 51 then
         'GRUPO 4 -> 42 a 51'
          end,

         p.nomplano


         FROM TAB_CLIE C
inner JOIN tab_cont p1 ON (p1.codclie = c.codclie)

lEFT JOIN tab_plano p ON (p.codplano = p1.codplan)
group by

 case when trunc((CURRENT_DATE - C.DATNASC) / 365.25) <= 20 then
         'GRUPO 1 -> até 20'
          when trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 21 and 30 then
         'GRUPO 2 -> 21 a 30'
         when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 31 and 41 then
         'GRUPO 3 -> 31 a 41'
           when  trunc((CURRENT_DATE - C.DATNASC) / 365.25)  between 42 and 51 then
         'GRUPO 4 -> 42 a 51'
          end, p.nomplano

         

Editado por dreamsoft_PR
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1049 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...