[firebase-br] erro em select com subselect

Andrei Luís compuvale.software em gmail.com
Seg Mar 16 09:19:05 -03 2009


Sem Sum esse teu select não vai funcionar, ou melhor, só vai funcionar
quando os subselects tiverem somente 1 registro.

Como assim discriminar? Colocar nome nas colunas? Se for isso faça assim:

select c.data, c.descricao, c.tipo,
(select Sum(c.valor) as credito from caixa c where c.tipo = 'C') as credito,
(select Sum(c.valor) as debito from caixa c where c.tipo = 'D') as debito
from caixa c where data between :dataini and :datafim

[]
Andrei



2009/3/16 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>

> sei disso usando sum funciona mais quero discriminar os valores de débito e
> credito, por isso não vai rolar usando sum
>
> 2009/3/16 Andrei Luís <compuvale.software em gmail.com>
>
> > Reijanio,
> >
> > Isso é pra calculo de saldo?
> >
> > A msg de erro significa que não pode haver multiplas linhas no retorno do
> > seu select. Se o que você quer é calcular saldo, os subselects devem usar
> > Sum:
> >
> > select c.data, c.descricao, c.tipo,
> > (select Sum(c.valor) as credito from caixa c where c.tipo = 'C'),
> > (select Sum(c.valor) as debito from caixa c where c.tipo = 'D')
> > from caixa c where data between :dataini and :datafim
> >
> >
> > []
> > Andrei
> >
> > 2009/3/16 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>
> >
> > > alguem poderia me ajudar com essa sintaxe aqui
> > >
> > > select c.data, c.descricao, c.tipo,
> > > (select (c.valor) as credito from caixa c where c.tipo = 'C'),
> > > (select (c.valor) as debito from caixa c where c.tipo = 'D')
> > > from caixa c where data between :dataini and :datafim
> > >
> > > da esse erro aqui
> > >
> > > multiple rows in singleton select.
> > > multiple rows in singleton select.
> > >
> > > desde ja agradeço a quem puder me dar uma ajuda
>



Mais detalhes sobre a lista de discussão lista