Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia!
Como fazer um right join com mais de um campo em comum.
Estou fazendo um right join e o hash128(id,nota,ano,mes), mas não dá certo.
Tabela 1
id | nota | mes | ano | valor |
---|---|---|---|---|
10 | 16 | 06 | 2014 | 20 |
10 | 15 | 06 | 2014 | 30 |
10 | 12 | 06 | 2014 | 40 |
15 | 12 | 06 | 2014 | 50 |
Tabela2
id | nota | mes | ano |
---|---|---|---|
10 | 16 | 06 | 2014 |
10 | 15 | 06 | 2014 |
10 | 12 | 06 | 2014 |
10 | 13 | 06 | 2014 |
Resultado que desejo:
id | nota | mes | ano | valor |
---|---|---|---|---|
10 | 16 | 06 | 2014 | 20 |
10 | 15 | 06 | 2014 | 30 |
10 | 12 | 06 | 2014 | 40 |
10 | 13 | 06 | 2014 | |
Carrega sempre todos os dados da tabela2(por isso usei o right join)
Esses não são dados reais, tentei fazer uma simulação, ficou muito parecido com meus dados reais.
A tabela que vc tira o RESIDENT e coloca por sql, esta tabela foi carregada anteriormente??
sim
Se possível passa ai o código que vc esta usando, pode mudar o nome dos campos, mais seria o ideal que mante-se a estrutura.. pois você mandou o código acima e nele contem um erro que irei lhe descrever.
Tabela1
LOAD
id,
nota,
mês,
ano,
valor
sql select
id,
nota,
mês,
ano,
valor
from ..... MANTENHA AQUI OS CAMPOS PADRÃO E SÓ RENOMEIE EM BAIXO
Tabela2:
LOAD
id as id2,
nota as nota2,
mês as mês2,
ano as ano2
resident Tabela2; AQUI O CORRETO É RESIDENT TABELA1 POIS VC ESTA PUXANDO OS MESMOS DADOS DA TABELA1 QUE CARREGOU ACIMA ---
right join (Tabela2)
...................
AQUI EM BAIXO SERIA OUTRA TABELA QUE VC VAI CARREGAR DO EXCEL CERTO.
na verdade eu carrego essa outra tabela do banco
AQUI EM BAIXO SERIA OUTRA TABELA QUE VC VAI CARREGAR DO EXCEL CERTO, eu carrego essa outra tabela do banco
AQUI O CORRETO É RESIDENT TABELA1 POIS VC ESTA PUXANDO OS MESMOS DADOS DA TABELA1 QUE CARREGOU ACIMA,
foi só um erro de digitação no meu script com dados reais, está resident tabela1
Entendi.. este está sendo nosso problema, estou tentando imaginar o que pode estar errado em seu código, visto que este comando não teria por que não funcionar, então se possivel copie o codigo e cole aqui.. pode alterar o nome dos campos.. pra vermos como está a estrutura.
'Ok
TABELA1:
LOAD
nota,
id,
ano,
mes,
valor;
SQL SELECT
nota
id,
ano,
mes,
valor
FROM bi_aut WITH (READUNCOMMITTED);
STORE TABELA1 INTO TABELA1.qvd;
TABELA2:
LOAD
nota,
id,
ano,
mes,
valor
resident TABELA1;
STORE TABELA2 INTO TABELA2.qvd;
Right join (TABELA2)
LOAD
nota as notaemp,
id,
vl AS valoremp,
ano as anoemp,
mês as mesemp,
id_ger2;
SQL SELECT
nota ,
id_cred,
vl ,
ano
mês ,
id_ger
FROM tep2;
em cima do seu código, fiz algumas alterações. Veja se funciona:
TABELA1:
LOAD
nota,
id,
ano,
mes,
valor;
SQL SELECT
nota
id,
ano,
mes,
valor
FROM bi_aut WITH (READUNCOMMITTED);
STORE TABELA1 INTO TABELA1.qvd;
TABELA2:
LOAD
nota as nota2,
id as id2,
ano as ano2,
mes as mes2,
valor as valor2
resident TABELA1;
STORE TABELA2 INTO TABELA2.qvd;
Right join (TABELA2)
LOAD
nota as nota2,
id as id2,
vl AS valor2,
ano as ano2,
mês as mes2,
id_ger2;
SQL SELECT
nota ,
id_cred,
vl ,
ano
mês ,
id_ger
FROM tep2;