Mostrando postagens com marcador Opção para não utilizar Subquery (Qlikview ou Banco de Dados). Mostrar todas as postagens
Mostrando postagens com marcador Opção para não utilizar Subquery (Qlikview ou Banco de Dados). Mostrar todas as postagens

Opção para não utilizar Subquery (Qlikview ou Banco de Dados) | Left Join

Ĉ¿

Em banco de dados ou qlikview, quando trabalhamos com um volume grande de registros; temos que analisar o desempenho em utilizar a subquery.

Conforme o exemplo abaixo:

Em uma tabela com +- 12.000.000 (12 milhõres)  de registro, com a seguinte estrutura.

IDDT SOLICITAÇÃODT AGENDAMENTOID ORIGEM
10001/10/201401/12/201410
1001/01/201401/09/2014
10110/10/201410/10/201450
5005/02/201420/09/2014

Precisamos que a estrutura fique da seguinte forma, SEM UTILIZAR SUBQUERY

IDDT SOLICITAÇÃODT AGENDAMENTOID ORIGEMDT SOLIC. ORIGEMDT AGEND. ORIGEM
10001/10/201401/12/20141001/01/201401/09/2014
10110/10/201410/10/20145005/02/201420/09/2014

A solução que utilizei foi:




//CRIA TABELA TEMPORARIA SOMENTE COM REGISTROS BASE
SELECT 
  ID
 ,DT_SOLICITACAO
 ,DT_AGENDAMENTO
 ,ID_ORIGEM
 INTO #ORIGEM
FROM
 TABELA
WHERE
 TABELA.ID_ORIGEM IS NULL
 
//CRIA TABELA TEMPORARIA COM REGISTROS RELACIONADOS 
SELECT 
  ID
 ,DT_SOLICITACAO
 ,DT_AGENDAMENTO
 ,ID_ORIGEM
 INTO #ATUAL
FROM
 TABELA
WHERE
 TABELA.ID_ORIGEM IS NOT NULL
 
 
//REALIZA RELACIONAMENTO ENTRE AS TABELAS, ADICIONANDO AS COLUNAS NECESSÁRIAS  
SELECT 
  #ATUAL.ID
 ,#ATUAL.DT_SOLICITACAO
 ,#ATUAL.DT_AGENDAMENTO
 ,#ATUAL.ID_ORIGEM
 ,#ORIGEM.DT_SOLICITACAO AS [DT SOLIC. ORIGEM]
 ,#ORIGEM.DT_SOLICITACAO AS [DT AGEND. ORIGEM]
FROM 
 #ATUAL
LEFT JOIN 
 #ORIGEM  ON #ATUAL.ID_ORIGEM = #ORIGEM.ID 



Abaixo segue exemplo do Qlikview

Tabela1:
LOAD * INLINE [
Chave, A
1, A1
2, A2
3, A3
];
Tabela2:
LOAD * INLINE [
Chave, C
1, C1
2, C2
4, C4
];
view rawgistfile1.txt hosted with ❤ by GitHub
Tabela 1
ChaveA
1A1
2A2
3A3
Tabela 2
ChaveC
1C1
2C2
4C3

Left Join

  • Left irá retornar as linhas da tabela da esquerda e os campos da tabela da direita.
Left Join (Tabela1)
LOAD
Chave,
C
Resident Tabela2;
view rawgistfile1.txt hosted with ❤ by GitHub
Tabela 1
ChaveAC
1A1C1
2A2C2
3A3
Artigo originalmente publicado em 11 de setembro de 2012 por Pedro Elsner: Entendendo Join, Keep e Concatenate no QlikView

Comandos git do dia a dia

Ĉ¿ #Criando um projeto do zero echo "# UBBOAT_App" >> README.md git init git add README.md git commit -m "first commi...