[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