[firebase-br] RES: Select com 3 tabelas
Emilio Córdova (jvsistema)
emilio em jvsistema.com
Qua Abr 8 09:54:36 -03 2015
Bom dia,
Não me metendo a entendido, mas não seria melhor trabalhar com Inner Join ou
Left Join?
Desta forma que está o script vai ter que carregar na memória três tabelas e
deixar a resposta um pouco demorada.
Segue,
select f.fornecedor,f.data,d.conta,d.custo,d.vlr, c.conta,c.custo,c.vlr
from fornecedor f
inner join credito c on c.id_fornecedor = f.id_fornecedor
inner join debito d on d.id_fornecedor = f.id_fornecedor
group by f.fornecedor,f.data,d.conta,d.custo,d.vlr,c.conta,c.custo,c.vlr
desta forma, somente a fornecedor será carregada inteira e as outras somente
filtradas (menos registros na memória).
Outra coisa é com relação ao group by que acredito que seria somente assim:
group by f.fornecedor,f.data,d.conta,d.custo,c.conta,c.custo
Mas daí é outra coisa que precisa ser estudado.
Att,
Emilio Córdova
emilio em jvsistema.com
-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Max Dudu
Enviada em: quarta-feira, 8 de abril de 2015 08:25
Para: FireBase
Assunto: Re: [firebase-br] Select com 3 tabelas
Veja se é isso que voce quer....Creio que faltou os relacionamentos entre as
tabelas, para saber de onde qual operação vc esta fazendo.
principalmente com o fornecedor....
select f.fornecedor,f.data,d.conta,d.custo,d.vlr, c.conta,c.custo,c.vlr from
fornecedor f,debito d, credito c where f.id_fornecedor = d.id_fornecedor and
f.id_fornecedor = c.id_fornecedor group by
f.fornecedor,f.data,d.conta,d.custo,d.vlr,
c.conta,c.custo,c.vlr
Coisa simples mais tente fazer ai e veja se da certo.
Em 7 de abril de 2015 12:50, claudio em o2tecnologia.com.br <
claudio em o2tecnologia.com.br> escreveu:
> Boa tarde.
>
> Acredito que o que precisa seja isso.
>
> Select TabelaA.Id, TabelaA.Fornecedor, TabelaA.Data,
> TabelaB.Conta_Debito, TabelaB.Centro_Custo as Centro_CustoB,
> TabelaB.Vlr as VlrB, TabelaC.Conta_Credito, TabelaC.Centro_Custo as
> Centro_CustoC, TabelaC.Vlr as VlrC From TabelaA Inner Join TabelaB on
> ( TabelaB.Id = TabelaA.Id ) Inner Join TabelaC on ( TabelaC.Id =
> TabelaA.Id )
>
> Cláudio Prudente
> *
> *
> On 06/04/2015 16:46, Val - Ig wrote:
>
>> Pessoal,
>>
>> Estou com o seguinte cenário:
>>
>> Estrutura das
>> Tabelas
>>
>>
>> Tabela A Tabela B Tabela C
>> Id Id Id
>> Fornecedor Conta_Debito Conta_Crédito
>> Data Centro_Custo Centro_Custo
>> Vlr Vlr Vlr
>> Dados
>>
>>
>> Tabela A Tabela B Tabela C
>> 123 123 123
>> Exemplo
>> 31115 21112
>> 01/03/2015 01.11 01.11
>> R$200,00 R$100,00 R$200,00
>>
>> 123
>>
>>
>> 42116
>>
>>
>> 02.10
>>
>>
>> R$100,00
>>
>> Apresentação
>>
>>
>> 123 - Exemplo - 01.03.2015 - 31115 - 01.11 - 100 - 21112 - 01.11 -
>> 200
>> 123 - Exemplo - 01.03.2015 - 42116 - 02.10 - 100 - 21112 - 01.11 -
>> 200
>>
>>
>> O Objetivo é a apresentação.
>> Utilizo o Firebird 2.5, tentei com o Join, mas não consigo chegar
>> neste resultado.
>>
>> Se alguém puder auxiliar, agradeço...
>>
>>
> ______________________________________________
> 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://firebase.com.br/pesquisa
>
______________________________________________
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://firebase.com.br/pesquisa
---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com
Mais detalhes sobre a lista de discussão lista