[firebase-br] RES: [Spam] Re: RES: Duvida select from select...

Alexandre camilo em apollosistemas.com.br
Qui Jan 10 16:21:42 -03 2013


Talvez isto te ajude:

select
   avg(x.dias_atraso) as Dias_MediaAtraso,

   coalesce(max(x.dias_atraso),0) as Dias_MaiorAtraso_Liq, SUM(SALDOP)

 sub select na tabela X que é uma tabela derivada. (derived table)
 from
 (select fp.dias_atraso, f.saldo, 
 
 CASE WHEN F.SALDO > 0 THEN F.SALDO ELSE 0 END SALDOP
 
   from faturas_receber_parcelas fp
     inner join faturas_receber f on f.faturas_receber_id =
 fp.faturas_receber_id
   where f.parceiro = :parceiro) x(dias_atraso, saldo)



não é a solução, mas se funcionar....


Alexandre Camilo.





-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Marcos Weimer
Enviada em: quinta-feira, 10 de janeiro de 2013 16:06
Para: FireBase
Assunto: [Spam] Re: [firebase-br] RES: Duvida select from select...

Ja é em procedure, só que faço 12 selects na mesma tabela, só mudando o
where, queria uma maneira fazer com sub da derived table para agilizar o
processo, da maneira que está lê muitas vezes a mesma tabela (sempre os
mesmos joins) oque é desnecessário e um pouco lento devido ao tamanho da
base (quase 10gb).

-=Ma®©oS=-
Marcos R. Weimer
Delphi / C# / ASP.NET / WebServices / Firebird



Em 10 de janeiro de 2013 15:56, Julio F. Figueiredo
<tuskinhu em gmail.com>escreveu:

> Pq vc nao tenta jogar isso dentro de uma procedure, as vezes fica até
> melhor o seu código dando um select * from procedure q tentar mondar umas
> querys mais complexas no fonte?
>
>
> ________________________________________
> Att,
> *Julio F. Figueiredo*
> *Analista de Sistemas*
>
>
> Em 10 de janeiro de 2013 15:54, Marcos Weimer <marcosweimer em gmail.com
> >escreveu:
>
> > Cantu, vi sobre o
> > Derived tables (
> > http://www.firebirdsql.org/refdocs/langrefupd21-select.html)
> >
> > e não obtive sucesso, acho que é impossível fazer oque estou querendo,
> veja
> > o select...
> >
> >
> > select
> >   avg(x.dias_atraso) as Dias_MediaAtraso,
> >   coalesce(max(x.dias_atraso),0) as Dias_MaiorAtraso_Liq,
> >   *(select sum(saldo) from x where x.saldo > 0)* --aqui quero efetuar um
> > sub select na tabela X que é uma tabela derivada. (derived table)
> > from
> > (select fp.dias_atraso, f.saldo
> >   from faturas_receber_parcelas fp
> >     inner join faturas_receber f on f.faturas_receber_id =
> > fp.faturas_receber_id
> >   where f.parceiro = :parceiro) x(dias_atraso, saldo)
> >
> >
> > Acho que oque estou querendo fazer é meio "impossível" (ainda não
> > implementado).
> >
> >
> >
> > -=Ma®©oS=-
> > Marcos R. Weimer
> > Delphi / C# / ASP.NET / WebServices / Firebird
> >
> >
> >
> > Em 10 de janeiro de 2013 15:38, Carlos H. Cantu
> > <listas em warmboot.com.br>escreveu:
> >
> > > Você terá que escrever "X" como uma DERIVED TABLES, pra conseguir
> > > referenciar ela em um subselect.
> > >
> > > []s
> > > Carlos H. Cantu
> > > www.FireBase.com.br - www.firebirdnews.org
> > > www.warmboot.com.br - blog.firebase.com.br
> > >
> > > MW> Aqui uso a 2.5.2.26539
> > >
> > > MW> Acho que vc não está entendendo o meu select, me refiro ao
> subselect,
> > > MW> observe ele e veja se consegue algo do genero, eu acho que não
> existe
> > > MW> suporte para isso.
> > >
> > > MW> -=Ma®©oS=-
> > > MW> Marcos R. Weimer
> > > MW> Delphi / C# / ASP.NET / WebServices / Firebird
> > >
> > >
> > > ______________________________________________
> > > 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
> >
> ______________________________________________
> 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





Mais detalhes sobre a lista de discussão lista