[firebase-br] problemas com sql

Eduardo Pombo eduardo em embras.net
Qua Abr 3 11:15:54 -03 2013


Considerando que tab_seq tem so 1 campo chamado seq e contem 5 registros
sequencias so para efeito de teste.

Pelo que testei é possível usar select (um "subselect" na verdade) em LIST
mas tem q retornar um registro pq tera q ter o mesmo efeito de um campo
 conforme exemplo usei o MAX para isso

select
  s.seq,
  list( (select max(x.seq) from tab_seq x where x.seq < s.seq) )
from tab_seq s
group by 1

pode-se criar um outro campo grupo e agrupar por ele para dar um melhor uso
pro exemplo mas creio q ja deu pra ter uma ideia do funcionamento.

No caso do Henrique creio q o problema a falta de parenteses no select  e
ainda faltaria um mesmo q so trazendo um registro na procedure ele deva
usar first 1. EX:   List( (select first 1 Resultado from
mascarafone(c.telefone, c.tipo_fone) ) , ',')

espero que possa ter ajudado.


Em 3 de abril de 2013 10:01, Carlos H. Cantu <listas em warmboot.com.br>escreveu:

> LIST é uma função de agregação nativa do Firebird.
>
> Até onde eu sei, não é possível usar um select como parâmetro nela.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> GS> EU acho que isso não funciona :
> GS>        List(select Resultado from mascarafone(c.telefone,
> c.tipo_fone), ',')
> GS> as Telefones
>
> GS> Essa 'List' é uma procedure ou é uma função ? Se é uma SP retornável
> onde
> GS> esta o select ... from list(*) ?
> GS> Tem certeza que ela retorna apenas 1 resultado ?
>
>
> GS> Gladiston Santana
> GS> Departamento de TI
> GS> Grupo Vidy
> GS> Tel (11) 4787-3122 ramal 228
> GS> Rod. Régis Bittencourt 3360 - Km 272,5
> GS> Taboão da Serra - SP - CEP: 06793-000
> GS> Visite nosso site: www.vidy.com.br
> GS> Visite também : www.expolabor.com.br
>
>
>
>
> GS> Em 31 de março de 2013 19:47, Henrique Angerame
> GS> <henrique em zarich.com.br>escreveu:
>
> >> Olá Amigos, tudo bem
> >>
> >>
> >>
> >> Segue uma select e uma proc
> >>
> >>
> >>
> >> Select e.id as Codigo,
> >>
> >>        e.razao as Descritivo,
> >>
> >>        s.id as Codigo_Sala,
> >>
> >>        s.complemento as Sala,
> >>
> >>        b.bloco as Bloco,
> >>
> >>        List(select Resultado from mascarafone(c.telefone, c.tipo_fone),
> >> ',')
> >> as Telefones
> >>
> >>
> >>
> >> From sala_responsavel r Inner Join cadentidade e on (e.id = r.entidade)
> >>
> >>                         Inner Join cadsalas s on (r.sala = s.id)
> >>
> >>                         Inner Join cadblocos b on (s.bloco = b.id)
> >>
> >>                         Left Join contatos c on (r.entidade =
> c.id_cadastro
> >> and c.tipo_cadastro = 0 and coalesce(c.telefone, '') <> '' and
> c.telefone
> >> <>
> >> '')
> >>
> >>
> >>
> >> Group By 1,2,3,4,5,
> >>
> >>
> >>
> >> A mascara fone é uma procedure que coloca a mascara.
> >>
> >> Já usei ela em outras select sem o list
> >>
> >> Com o List não consegui  funcionar,  fiz uma gambi usando uma view mas
> não
> >> gostei .
> >>
> >> Se alguém souber um jeito de fazer isso ia me quebrar uma vigota enorma
> >>
> >>
> >>
> >> Grande abraço
> >>
> >> Boa páscoa para todos
> >>
> >>
> >>
> >>
> >>
> >> Att.
> >>
> >>
> >>
> >> Henrique Angerame
> >>
> >>
> >>
> >> Zarich Sistemas - www.zarich.com.br
> >>
> >> Sistemas de Portaria Eletronica.
> >>
> >> E-mail: henrique em zarich.com.br
> >>
> >>
> >>
> >> ______________________________________________
> >> 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
> >>
> GS> ______________________________________________
> GS> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> GS> Para saber como gerenciar/excluir seu cadastro na lista, use:
> GS> http://www.firebase.com.br/fb/artigo.php?id=1107
> GS> 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
>



-- 

Atenciosamente

José Eduardo Pombo de Barros



Mais detalhes sobre a lista de discussão lista