[firebase-br] Multiple rows in single select

Washington washington.ams em gmail.com
Sex Jan 9 11:12:12 -03 2015


Olá

Colocando o For não dá o erro, mas não traz os auxiliares que não tem 
dependentes.

Tinha o select assim no delphi, gerando o relatório

Select a.aux_nome, b.dep_nome, b.dep_dt_nasc,
case b.dep_grau
when 'A' then 'Agregado'
when 'T' then 'Enteado(a)'
when 'E' then 'Esposo(a)'
when 'F' then 'Filho(a)'
when 'I' then 'Irmão(ã)'
when 'M' then 'Mãe'
when 'O' then 'Namorado(a)'
when 'N' then 'Neto(a)'
when 'V' then 'Noivo(a)'
when 'P' then 'Pai'
when 'L' then 'Tutelado(a)'
when 'S' then 'Sogro(a)'
end as Grau
from auxiliares a inner join dependentes b On a.aux_codigo = 
b.dep_aux_codigo
where (aux_acesso_dependencias = 'S') and (dep_grau in ('E','P','M','F') or 
(dep_grau in ('F','L','T') and ((current_date - dep_dt_nasc) <= (365*19))))
--and (aux_dt_inc between '01.08.2014' and '01.08.2015')
group by aux_nome, dep_nome, dep_dt_nasc, dep_grau
order by aux_nome

Funciona beleza, mas com o mesmo problema, traz os auxiliares e seus 
dependentes, mas não retorna os auxiliares que tem acesso as dependencias, 
mas não tem dependentes.

Dai tentei resolver com uma SP, mas a situação se mantém.

Obrigado por hora

Atenciosamente

#######################
Washington A. Muller da Silva
http://wvoleibol.blogspot.com
washington.ams em gmail.com
#######################
-----Mensagem Original----- 
From: Willian Jorge Oliveira
Sent: Friday, January 09, 2015 11:01 AM
To: FireBase
Subject: Re: [firebase-br] Multiple rows in single select

concordo com o Samuel, eh por isso que esta ocorrendo o erro "Multiple rows
in single select", vc está tentando atribuir o resultado de um select
inteiro nas variaveis.

Em Fri Jan 09 2015 at 10:59:56, Samuel Peres Ferreira <
samuel.peres.ferreira em gmail.com> escreveu:

> ola
>
> pelo que entendi, vc quer mostrar todos os dependentes dos auxiliares.
> creio que no no segundo 'select' deveria ser 'for select'
>
>  for
>       select aux_codigo, aux_nome
>       from auxiliares
>       where (aux_acesso_dependencias = 'S')
>       order by aux_nome
>       into :wcodigo, :wnome
>   do
>       begin
>         for Select dep_nome, dep_dt_nasc,
>               case dep_grau
>               when 'A' then 'Agregado'
>               when 'T' then 'Enteado(a)'
>               when 'E' then 'Esposo(a)'
>               when 'F' then 'Filho(a)'
>               when 'I' then 'Irmão(ã)'
>               when 'M' then 'Mãe'
>               when 'O' then 'Namorado(a)'
>               when 'N' then 'Neto(a)'
>               when 'V' then 'Noivo(a)'
>               when 'P' then 'Pai'
>               when 'L' then 'Tutelado(a)'
>               when 'S' then 'Sogro(a)'
>             end as Grau
>             from dependentes
>                 where (dep_aux_codigo = :wcodigo) and (dep_grau in
> ('E','P','M','F') or (dep_grau in ('F','L','T') and ((current_date -
> dep_dt_nasc) <= (365*19))))
>                into :wdepnome, :wdepdt, :wdepgrau; do
>           suspend;
>       end
>
> 2015-01-09 10:50 GMT-02:00 Washington <washington.ams em gmail.com>:
>
> > Olá
> >
> > Estou com problema nesta SP com firebird. Sei que ele esta devolvendo
> > apenas uma linha, mas preciso que me retorne mais de uma.
> >
> > E que tem auxiliares que tem dependentes e outros não, mas o auxiliar
> > precisa aparecer mesmo assim.
> >
> > Exemplo
> >
> > Usuario1    dependente1
> >                 dependente2
> >
> > Usuário 2  dependente1
> >
> > Usuario3
> >
> > Usuario4  dependente1
> >                dependente2
> >                dependente3
> >
> > Alguém poderia dar uma luz ?
> >
> >   for
> >       select aux_codigo, aux_nome
> >       from auxiliares
> >       where (aux_acesso_dependencias = 'S')
> >       order by aux_nome
> >       into :wcodigo, :wnome
> >   do
> >       begin
> >         Select dep_nome, dep_dt_nasc,
> >         case dep_grau
> >         when 'A' then 'Agregado'
> >         when 'T' then 'Enteado(a)'
> >         when 'E' then 'Esposo(a)'
> >         when 'F' then 'Filho(a)'
> >         when 'I' then 'Irmão(ã)'
> >         when 'M' then 'Mãe'
> >         when 'O' then 'Namorado(a)'
> >         when 'N' then 'Neto(a)'
> >         when 'V' then 'Noivo(a)'
> >         when 'P' then 'Pai'
> >         when 'L' then 'Tutelado(a)'
> >         when 'S' then 'Sogro(a)'
> >         end as Grau
> >         from dependentes
> >         where (dep_aux_codigo = :wcodigo) and (dep_grau in
> > ('E','P','M','F') or (dep_grau in ('F','L','T') and ((current_date -
> > dep_dt_nasc) <= (365*19))))
> >         into :wdepnome, :wdepdt, :wdepgrau;
> >
> >         suspend;
> >       end
> > end
> >
> > Atenciosamente
> >
> > #######################
> > Washington A. Muller da Silva
> > http://wvoleibol.blogspot.com
> > washington.ams em gmail.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
> >
>
>
>
> --
>      Samuel Peres Ferreira
> Staff Consultoria em Informatica
>   44-3028-3735    44-9972-6177
> ______________________________________________
> 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