[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