[firebase-br] RES: RES: Select com 3 tabelas
Emilio Córdova (jvsistema)
emilio em jvsistema.com
Qua Abr 8 10:55:33 -03 2015
select f.fornecedor,f.data,d.conta,d.custo,d.vlr, c.conta,c.custo,c.vlr
from fornecedor f <---- Aqui vai a tabela principal da query, aquela que
irá girar todos os registros
inner join credito c on c.id_fornecedor = f.id_fornecedor |/ aqui as tabelas
que serão filtradas pela
inner join debito d on d.id_fornecedor = f.id_fornecedor |\ principal
group by f.fornecedor,f.data,d.conta,d.custo,d.vlr,c.conta,c.custo,c.vlr
só reveja o group by.
PS: na linha do FROM é só a tabela principal, as demais são relacionadas no
Inner / Left Join.
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 10:22
Para: FireBase
Assunto: Re: [firebase-br] RES: Select com 3 tabelas
Seria assim entao....
Select f.id_fornecedor, f.fornecedor, f.data, d.conta,d.conta, d.custo,
d.vlr ,c.conta, c.custo , c.vlr From fornecedor f, debito d, credito c Inner
Join credito on ( f.id_fornecedor = c.id_fornecedor) Inner Join debito on (
f.id_fornecedor = d.id_fornecedor )
Em 8 de abril de 2015 09:54, Emilio Córdova (jvsistema) <
emilio em jvsistema.com> escreveu:
> 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
>
>
> ______________________________________________
> 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