select dentro de um select em banco firebird

Delphi

18/08/2016

Bom dia , a todos.
Olhei uns exemplos de select dentro de um select estou tentando fazer um aqui e me retorna o seguinte erro:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid command.
count of column list and variable list do not match.


select
ctelin.lincod, ctelin.lindes ,
(select
coalesce(sum(mapqtd),0) as mapqtdtot,
coalesce(sum(maptot+mapvlrdes),0) as mapvlrtot
from
bmbmap
inner join ctepro on ctepro.procod = mappro
where
mapfil = :p_fil and
mapdat between :p_datini and :p_datfim and
prolin = ctelin.lincod and
mapqtd > 0 and mapproest is null),
(Select
mappro, prodes,
coalesce(sum(mapqtd),0) as itemqtd, coalesce(sum(maptot+mapvlrdes),0) as itemtotal,
coalesce(sum(maptot / mapqtd),0) as itemuni
from
bmbmap
inner join ctepro on ctepro.procod = mappro
where
mapfil = :p_fil and
mapdat between :p_datini and :p_datfim and
prolin = ctelin.lincod and
mapqtd > 0 and mapproest is null
group by
mappro, prodes)
from
ctelin
group by
ctelin.lincod, ctelin.lindes
order by
ctelin.lincod


obrigado desde ja pela ajuda.
Tiago Schneider

Tiago Schneider

Curtidas 0

Respostas

Jones Granatyr

Jones Granatyr

18/08/2016

O SQL interno deve retornar somente um campo. Na suas consultas com SQL dentro do SQL elas estão retornando várias colunas
GOSTEI 0
Tiago Schneider

Tiago Schneider

18/08/2016

Obrigado jones , vou testar
GOSTEI 0
POSTAR