Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Porque uma Cláusula SQL não funciona no qlikview

Boa tarde.

Apenas me tirem uma dúvida...

Usando uma ferramenta de gerenciamento de dados (dbForge studio), aplico o comando abaixo, e o resultado vem perfeitamente, mas quando executo dentro do Qlikview, o comando ignora a parte >= '01/01/2015'...

A pergunta é, porque dentro do qlikview, o código está ignorando esta parte da data, e trazendo as datas inferiores a citada?

O que tenho que fazer no código, para que ele entenda esta condição....?

Código sendo usado:

SELECT

       CB.ID_DOCUMENTO,

       CB.NR_DOCUMENTO,

       CBT.VL_PAGO,

       CB.ID_CONTA,

       CB.DT_CONCILIADO,

       CB.CS_TRANSFERENCIA,

       CBT.CS_TIPO_DOCUMENTO,

       CBT.ID_DOCUMENTO

  FROM SGT.CAIXAS_BANCOS CB,

            SGT.CAIXAS_BANCOS_TITULOS CBT

  WHERE CB.ID_DOCUMENTO = CBT.ID_DOCUMENTO

         AND CB.DT_CONCILIADO >= '01/01/2015'

         AND CB.CS_TRANSFERENCIA = 'S';

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Bom dia.

O SQL antes do SELECT não se faz necessário. Se tiver ou não, roda.

A questão deve mesmo estar no formato da data. Ja tive este problema.

Se você colocar um LOAD e no load colocar um where? 

Sei que não seria tao performático quanto o where no banco, mas não sei o tempo que leva lendo a tabela....as vezes é rápida e não sacrifica tanto....

LOAD

         *

    Where year(DT_CONCILIADO_ >= 2015 ;

SELECT

       CB.ID_DOCUMENTO AS ID_DOCUMENTO_D,

       CB.NR_DOCUMENTO,

       CB.DT_EMISSAO,

       CB.CS_DOCUMENTO,

       CB.VL_CONTA,

       CBT.VL_PAGO AS VL_DOCUMENTO,

       CB.ID_CONTA,

       CB.DT_CONCILIADO,

       CB.CS_TRANSFERENCIA,

       CB.CS_CONCILIADO,

       CB.NR_TRANSFERENCIA,

       CBT.CS_TIPO_DOCUMENTO,

       CBT.ID_DOCUMENTO    AS    CBT_ID_DOCUMENTO,

       CBT.ID_CAIXA_BANCO_TITULO

  FROM SGT.CAIXAS_BANCOS CB,

       SGT.CAIXAS_BANCOS_TITULOS CBT

  WHERE CB.ID_DOCUMENTO = CBT.ID_DOCUMENTO

    AND CB.DT_CONCILIADO IS NOT NULL

    AND CB.CS_TRANSFERENCIA = 'S'

    AND CBT.CS_TIPO_DOCUMENTO = 'C';

furtado@farolbi.com.br

View solution in original post

26 Replies
nicolett_yuri

Marcos, na verdade quando executada uma query em um banco, quem faz a interpretação é o próprio banco e não o QlikView.

OBS: Esta faltando um SQL antes do select, ficando assim: SQL SELECT.

Clever_Anjos
Employee
Employee

Tente

>= '2015-01-01'

Anonymous
Not applicable
Author

Clever, boa tarde.

Assim não rodou....

Dá erro de sql..

Marcos.

nicolett_yuri

Pode colocar o erro Marcos?

Anonymous
Not applicable
Author

Na verdade apenas não colei aqui, mas já tinha o SQL antes do SELECT...

Yuri, na consulta que faço pelo dbForge, o resultado do campo de data está assim:

01/01/2015 00:00:00

Lá ele entende e mostra somente o que peço, mas no qlik a condição é ignorada...

Como citei, no comando ponho apenas >= '01/01/2015'...

Não seria nada haver com formato?

Eu tentei colocar >= '01/01/2015 00:00:00', mas dá erro de SQL...

Marcos.

Clever_Anjos
Employee
Employee

Qual o erro?

Anonymous
Not applicable
Author

Não tem erro, o resultado é que não é o esperado...

Quero apenas datas iguais ou superiores a 01/01/2015

Clever_Anjos
Employee
Employee

Está trazendo o que?

Qual banco está sendo usado?

Anonymous
Not applicable
Author

Segue imagem em anexo