Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Load em um sql select

Pessoal, bom dia!

Gostaria de uma ajudinha para montar um qvd.

Tenho o seguinte código sql, composto por tabelas temporárias que resultam em um terceiro select com resultado destas.

create table tb_tmp as (

select

cod

,ocorrencia

,dat

from tabA

)

;

create table tb_tmp2 as (

select

cod

,ocorrencia

,dat

from tabB

)

;

select

cod

,ocorrencia

,dat

from

(

  select distinct

  t.cod

  ,t.ocorrencia

  ,t.dat

  from

  (

      select * from tb_tmp

  ) t

  ,

  (

      select * from tb_tmp2

  ) t1

where t.cod <> t1.cod

)

Preciso criar os qvds destes selects, mas fico em duvida na formação do terceiro sql, como fazer o Load funcionar dentro de um comando sql select?

Alguém tem alguma dica para a situação?

tb_tmp:
sql
select
cod
,ocorrencia
,dat
from tabA;
store  tb_tmp into tb_tmp.qvd;
drop table tb_tmp;

tb_tmp2:
sql
select
cod
,ocorrencia
,dat
from tabB;
store  tb_tmp2 into tb_tmp2.qvd;
drop table tb_tmp2;

tb_3:
sql
select
cod
,ocorrencia
,dat
from
(
  select distinct
  t.cod
  ,t.ocorrencia
  ,t.dat
  from
  (
      Load * from tb_tmp.qvd
  ) t
  ,
  (
      Load * from tb_tmp2.qvd
  ) t1
where t.cod <> t1.cod
);
store  tb_3 into tb_3.qvd;
drop table tb_3;

Obrigada

Tags (1)
5 Replies
Luminary
Luminary

Re: Load em um sql select

Olá ,

Não existe esta sintaxe de leitura de QVDs dentro de um select. Comandos Select somente podem ser utlizados para leitura de tabelas em bancos de dados.

  Você pode explicar melhor a tua necessidade , assim fica mais fácil de dar a dica de como resolver isto.

Att,

Pablo Labbe

Consultor Qlikview

srchagas
Contributor III

Re: Load em um sql select

Bom Dia


Essas tabelas são temporarias correto ? se sua tqabela e temporaria, você irá ler a cada vez que alguem preencheu esses dados só fazer um load total. e ir criando os qvs

aderlanrm
Valued Contributor

Re: Load em um sql select

Olá Pecorucha,

Se entendi bem o seu SQL, poderia ser "traduzido" para QlikView assim:

TabA:

LOAD Distinct *;

SQL select cod

    ,ocorrencia

    ,dat

    from tabA;

TabB:

LOAD Distinct *

Where not Exists(cod);

SQL select cod

    ,ocorrencia

    ,dat

    from tabB;

Não sei se é exatamente isso que você precisa, mas testa ai...

O resultado será uma tabela A, devido a contatenação automática do QlikView já que os campos são todos iguais, então, para gerar o QVD, basta fazer o Store da TabA.

Store TabA into Exemplo.qvd (qvd);

Abraço.

Not applicable

Re: Load em um sql select

Obrigada pelas dicas pessoal!

Me ajudou muito para a solução do meu script

Abraços

Patricia

aderlanrm
Valued Contributor

Re: Load em um sql select

Olá pecorunha,

Qual a solução e marque como resposta, tem mais pessoas aqui na comunidade com a mesma dúvida. Rsrsrsrs...

Abraço.