Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

sql

Alguém pode me ajudar a entender esse CASE, por favor

SELECT A.ID_SENHA,

       CASE WHEN A.DS_GRUPO = 'Grupo 2'

                THEN fn_dias_internado_senha (A.ID_SENHA)

                ELSE 0 END QT_DIAS_INTERNADO

FROM TB_FATO_AUTORIZACAO A

WHERE A.DT_REFERENCIA >=  to_date('01/01/2015', 'dd/mm/yyyy')

   AND A.DT_REFERENCIA <=  LAST_DAY( to_date('01/02/2015', 'dd/mm/yyyy') ) ;

Tags (1)
1 Solution

Accepted Solutions
thiago_mlg
Contributor II

Re: sql

Valber, basicamente o CASE está executando uma condicional.

SELECIONE A.ID_SENHA,

       CASO CAMPO A.DS_GRUPO = 'Grupo 2'

                ENTAO O CAMPO fn_dias_internado_senha  FICARÁ COM O VALOR DO CAMPO (A.ID_SENHA)

                SE NAO FICARÁ COM 0 END  -- AQUI É O NOME DO CAMPO. QT_DIAS_INTERNADO

6 Replies
thiago_mlg
Contributor II

Re: sql

Valber, basicamente o CASE está executando uma condicional.

SELECIONE A.ID_SENHA,

       CASO CAMPO A.DS_GRUPO = 'Grupo 2'

                ENTAO O CAMPO fn_dias_internado_senha  FICARÁ COM O VALOR DO CAMPO (A.ID_SENHA)

                SE NAO FICARÁ COM 0 END  -- AQUI É O NOME DO CAMPO. QT_DIAS_INTERNADO

Re: sql

Se o campo A.DS_GRUPO for igual a  'Grupo 2'

então usa a função fn_dias_internado_senha na coluna A.ID_SENHA

senão é 0

chama o campo de QT_DIAS_INTERNADO

Re: sql

Estou achando que esse Fn é alguma função ou estou viajando? rsrs

thiago_mlg
Contributor II

Re: sql

É vdd.. muito provável pois o campo está entre parenteses.. não tinha me atentado a isso.. rsrs

Not applicable

Re: sql

MUITO OBRIGADO GALERA

thiago_mlg
Contributor II

Re: sql

Valber, caso vc tenha mais alguma dúvida, estamos a disposição.

Caso não, marque a resposta como correta para fechar o tópico.

Abraços