Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
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

5 Replies
pablolabbe
Luminary Alumni
Luminary Alumni

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
Creator III
Creator III

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
Partner - Specialist
Partner - Specialist

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.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Obrigada pelas dicas pessoal!

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

Abraços

Patricia

aderlanrm
Partner - Specialist
Partner - Specialist

Olá pecorunha,

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

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)