Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Tenho duas tabela com as seguintes estruturas:
TabelaA:
Reg_ID_A | Vários outros campos |
A_1 | |
A_2 | |
A_3 | |
A_4 |
TabelaB: (Gerada em script a partir de analises realizadas)
Reg_ID_B | Check_Reg_ID_A | Intervalo1 | Intervalo2 |
B_1 | A_1 | -100 | 100 |
B_2 | A_1 | 20 | 20 |
B_3 | A_1 | -10 | 10 |
B_4 | A_2 | 80 | 80 |
B_5 | A_2 | 200 | 200 |
Preciso incluir na TabelaA os campos Reg_ID_B, Intervalo1 e Intervalo2 relativos ao menor valor do campo Intervalo2, logo, o resultado seria:
TabelaA:
Reg_ID_A | Vários outros campos | Reg_ID_B | Intervalo1 | Intervalo2 |
A_1 | B_3 | -10 | 10 | |
A_2 | B_4 | 80 | 80 | |
A_3 | ||||
A_4 |
Agradeço antecipadamente
André,
Claro que há outras soluções mas com o script abaixo chegamos no que você espera:
TabelaA:
Load * Inline [
Reg_ID_A
A_1
A_2
A_3
A_4
];
TabelaB:
Load
*,
AutoNumber(Check_Reg_ID_A&Intervalo2) as Chave; //Aqui crio essa chave apenas para efeito do inner join abaixo
Load * Inline [
Reg_ID_B,Check_Reg_ID_A,Intervalo1,Intervalo2
B_1,A_1,-100,100
B_2,A_1,20,20
B_3,A_1,-10,10
B_4,A_2,80,80
B_5,A_2,200,200
];
Inner Join(TabelaB)
Load
*,
AutoNumber(Reg_ID_A&Intervalo2) as Chave;
Load
Check_Reg_ID_A as Reg_ID_A,
Min(Intervalo2) as Intervalo2
Resident TabelaB Group By Check_Reg_ID_A;
Left Join (TabelaA)
Load
*
Resident TabelaB;
Drop Table TabelaB;
Drop Field Chave;
Resultado:
Não esqueça de marcar a resposta como correta e assim fecharmos o tópico.
Na dúvida de como fazer isso veja o item 2.3 do Manual do usuário | Como criar e gerir minhas perguntas?