[firebase-br] Multiple rows in single select
Washington
washington.ams em gmail.com
Sex Jan 9 22:09:57 -03 2015
Olá Carlos
Obrigado
Este or (dep_grau is null)) resolveu a situação.
Já tinha utilizado o select com ele, só que coloquei o
or (dep_grau is null)) no inicio do where, após o (aux_acesso_dependencias =
'S')
Obrigado mais uma vez.
Como disse no e-mail anterior, uma select tão fácil de fazer, mas tem
algumas horas que a coisa emperra e nestas horas nada como poder contar com
os colegas da lista.
Atenciosamente
#######################
Washington A. Muller da Silva
http://wvoleibol.blogspot.com
washington.ams em gmail.com
#######################
-----Mensagem Original-----
From: Carlos H. Cantu
Sent: Friday, January 09, 2015 2:43 PM
To: lista em firebase.com.br
Subject: Re: [firebase-br] Multiple rows in single select
Seu where tem condições em campos da tabela de dependentes, portanto,
se não há dependentes, essas condições retornarão false e o registro
não será retornado. Altere o where pra tratar os casos onde não há
dependentes, e use left join, algo do tipo:
left 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))) or (dep_grau is null))
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
W> Olá Carlos
W> Já utilizei inner join, full, left em fim tudo que era possivel com
relação
W> a joins.
W> Sei que é alguma coisa no where, mas mesmo assim deveria trazer os
W> auxiliares sem os dependentes.
W> Estou tentando aqui.
W> Resultados tão simples de devolver, utilizando apenas 2 tabelas, mas que
W> sempre dão uma dor de cabeça.
W> Prefiro as mais complexas que sempre se resolve.
W> Atenciosamente
W> #######################
W> Washington A. Muller da Silva
W> http://wvoleibol.blogspot.com
W> washington.ams em gmail.com
W> #######################
W> -----Mensagem Original-----
W> From: Carlos H. Cantu
W> Sent: Friday, January 09, 2015 11:55 AM
W> To: FireBase
W> Subject: Re: [firebase-br] Multiple rows in single select
W> Use um left join ao invés de inner join. Vc tb terá que adaptar o seu
W> WHERE, porque ele tem condições em cima dos dependentes, que como vc
W> mesmo disse, nem sempre existem...
W> []s
W> Carlos H. Cantu
W> www.FireBase.com.br - www.firebirdnews.org
W> www.warmboot.com.br - blog.firebase.com.br
W>> Olá
W>> Colocando o For não dá o erro, mas não traz os auxiliares que não tem
W>> dependentes.
W>> Tinha o select assim no delphi, gerando o relatório
W>> Select a.aux_nome, b.dep_nome, b.dep_dt_nasc,
W>> case b.dep_grau
W>> when 'A' then 'Agregado'
W>> when 'T' then 'Enteado(a)'
W>> when 'E' then 'Esposo(a)'
W>> when 'F' then 'Filho(a)'
W>> when 'I' then 'Irmão(ã)'
W>> when 'M' then 'Mãe'
W>> when 'O' then 'Namorado(a)'
W>> when 'N' then 'Neto(a)'
W>> when 'V' then 'Noivo(a)'
W>> when 'P' then 'Pai'
W>> when 'L' then 'Tutelado(a)'
W>> when 'S' then 'Sogro(a)'
W>> end as Grau
W>> from auxiliares a inner join dependentes b On a.aux_codigo =
W>> b.dep_aux_codigo
W>> where (aux_acesso_dependencias = 'S') and (dep_grau in ('E','P','M','F')
W> or
W>> (dep_grau in ('F','L','T') and ((current_date - dep_dt_nasc) <=
W> (365*19))))
W>> --and (aux_dt_inc between '01.08.2014' and '01.08.2015')
W>> group by aux_nome, dep_nome, dep_dt_nasc, dep_grau
W>> order by aux_nome
W>> Funciona beleza, mas com o mesmo problema, traz os auxiliares e seus
W>> dependentes, mas não retorna os auxiliares que tem acesso as
W> dependencias,
W>> mas não tem dependentes.
W>> Dai tentei resolver com uma SP, mas a situação se mantém.
W>> Obrigado por hora
W>> Atenciosamente
W>> #######################
W>> Washington A. Muller da Silva
W> ______________________________________________
W> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
W> Para saber como gerenciar/excluir seu cadastro na lista, use:
W> http://www.firebase.com.br/fb/artigo.php?id=1107
W> 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