Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia, Pessoal!
Eu tenho um dúvida do funcionamento e de qual a melhor forma de resolver a seguinte questão:
Possuo duas tabelas. Uma de venda e uma de contrato. Essa tabela de contrato tem dois campos VENDA1 e VENDA2 que são registros chaves da tabela VENDA
Então o que eu fiz foi criar duas chaves na tabela CONTRATO (PK1 e PK2) referente ao codigo da venda 1 e da venda 2.
Ao fazer isso, o Qlikview criou a Synthetic table com as duas PKs. Mas minha intenção é quando eu seleciona-se o registro CONTRATO, na tabela venda fossem selecionados os dois registros da venda. Mas quando seleciono somente é mostrado um dos registros da tabela venda.
Sim, entendo.
Mas criando a tabela como mencionado creio que irá atender.
Leandro,
Se entendi bem o que queres, talvez o link table te ajude.
Ou ainda, ao invés de criar duas PK's, poderia criar uma PK composta:
Venda:
Load
*,
PK1 & PK2 as PK_Composta
From SUA_BASE;
Contrato:
Load
*,
PK1 & PK2 as PK_Composta
From SUA_BASE;
Vou fazer o teste. Mas pra tentar explicar de forma pratica:
CONTRATO
COD VENDA1 VENDA2
1 15 18
2 16 17
VENDA
COD DATA ETC
15
16
17
18
Quando eu selecionar o registro do contrato (CODIGO 1) a seleção da tabela VENDA deverá ser (COD 15 e COD 18). CONTRATO COD 2, VENDA: COD 16 e 17
Que tal isso:
CONTRATO_TEMP:
LOAD * INLINE [
COD,VENDA1,VENDA2
1,15,18
2,16,17
];
VENDA:
LOAD
COD AS PK_VENDA,
DATA;
LOAD * INLINE [
COD,DATA
15,04/04/2018
16,01/02/2017
17,03/05/2018
18,12/12/2012
];
CONTRATO:
LOAD
COD,
VENDA1 AS PK_VENDA
Resident CONTRATO_TEMP;
Concatenate (CONTRATO)
LOAD
COD,
VENDA2 AS PK_VENDA
Resident CONTRATO_TEMP;
DROP TABLE CONTRATO_TEMP;
Bom dia Leandro,
Só para entendimento, vc quer criar algo como abaixo?
CONTRATO
COD_Contrato COD_VENDA
1 15
1 18
2 16
2 17
VENDA
COD_VENDA DATA ETC
15
16
17
18
Não exatamente. Na tabela CONTRATO, realmente eu tenho dois campos que se referenciam a duas vendas que estão na mesma tabela venda.
Sim, entendo.
Mas criando a tabela como mencionado creio que irá atender.
leandroayala, conseguiu testar o script que te mandei? Acho que a ideia é bem por aí.