[firebase-br] iboQuery keylinks, joinlinjs, ....

Gustavo Novaes gutonovaes19 em gmail.com
Seg Fev 10 16:49:45 -03 2020


Cantu,

Procurei por algum tutorial além daqueles que existem no site do Ibobject
pois , com eles , não estou conseguindo entender como usar o IBOQUERY
montando uma select contendo campos de duas tabelas (pai e filha). O
"agravante", talvez, seja que minhas tabelas possuem chave-primaria
composta. (2 campos). O relacionamento em questão (ou cardinalidade) 1:1.

Quando uso o formulario do IBOQuery e mando abrir o dataset nesse, os dados
são listados corretamente.
Porém ao aplicar a configuração no componente e ativar (activate = true),
lista inúmeras vezes o mesmo registro.



*Gustavo Novaes *




Em seg., 10 de fev. de 2020 às 15:54, Carlos H. Cantu <
listas em warmboot.com.br> escreveu:

> Wanderlei, a "ordem" dos campos na clausula ON não influencia o
> resultado, ou seja
>
> PA1.CODIGO = PAC.CODIGO AND PA1.DIGITO = PAC.DIGITO
> dá no mesmo que
> PAC.CODIGO = PA1.CODIGO AND PAC.DIGITO = PA1.DIGITO
>
> []s
> Carlos H. Cantu
> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
> WB> Boa tarde Gustavo.
> WB> Se a intenção é usar LEFT JOIN, significa que à esquerda do
> relacionamento
> WB> pode não existir, e se à esquerda vc colocou a tabela TBCOMPLEMENTO
> PA1,
> WB> então as relações deveriam ser PA1.CODIGO = PAC.CODIGO AND PA1.DIGITO =
> WB> PAC.DIGITO
> WB> Não sei se somente isso irá resolver seu problema mas se vc está
> WB> construindo um LEFT JOIN, essa é a lógica.
> WB> Espero ter ajudado.
> WB> At.
> WB> Wanderlei
>
>
> WB> Em seg., 10 de fev. de 2020 às 11:18, Gustavo Novaes <
> gutonovaes19 em gmail.com>
> WB> escreveu:
>
> >> Bom dia.
> >>
> >> Estou apanhando pra entender como funcionam as propriedades do IboQuery.
> >> Tenho uma sal com join e, na hora que lista a informação na tela,
> >> multiplica a mesma linha inumeras vezes na grid.
> >> Em tempo de desenvolvimento, mostra certo.
> >> Deixei de colocar o código em tempo de execução, fixei no componente mas
> >> persiste o problema.
> >>
> >> O relacionamento é 1 pra um, com chave primaria composta (abstraiam esse
> >> problema se possível);
> >> SELECT PAC.CODIGO, PAC.DIGITO, PAC.NOME, PA1.EMAIL
> >> FROM TBPACIENTE PAC
> >> LEFT JOIN  TBCOMPLEMENTO PA1
> >> ON
> >> PAC.CODIGO = PA1.CODIGO AND
> >> PAC.DIGITO = PA1.DIGITO
> >>
> >> Grato,
> >>
> >> *Gustavo Novaes *
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas:
> >> http://www.firebase.com.br/pesquisa_lista.html
> >>
> WB> ______________________________________________
> WB> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> WB> Para saber como gerenciar/excluir seu cadastro na lista, use:
> WB> http://www.firebase.com.br/fb/artigo.php?id=1107
> WB> Para consultar mensagens antigas:
> WB> http://www.firebase.com.br/pesquisa_lista.html
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista