[firebase-br] Variavel de pesquisa

Emerson Sanches emerson.sanches em gmail.com
Seg Jul 23 11:52:33 -03 2012


Matheus é exatamente isso que estou querendo...............alguma forma de
passar "vários" valores pra dentro da clausula IN.
De uma forma deselegante eu consegui fazer isso, eu poderia criar varias
"variáveis", tipo VAR1, VAR2, VAR3, VAR4...etc, e passar os parâmetros pra
essas variáveis. Isso funciona bem quando sabemos o
numero máximo de variáveis que teremos dentro do IN, mas quando não sabemos
esse numero, ai o bicho pega.............e é exatamente nessa situação que
me encontro agora.........rs.
Andre, obrigado pela resposta assim mesmo.............


Emerson Sanches
Analista de Sistemas


Em 23 de julho de 2012 11:43, Matheus(GMAIL) <matheus.jgs em gmail.com>escreveu:

> O Comando containing acredito que não seja o que ele está procurando.
> Eu efetuei alguns testes e não consegui chegar a uma solução plausivel.
>
> Andre, pelo que eu percebi o que ele deseja eu também ja tive problemas com
> isso, porem eu resolvi em questão da programação mesmo.
>
> Que por exemplo
>
> O sql que deveria ficar no final:
>
> Select * from produto
> Where pkproduto in(12,13,14,15);
>
> Mas de uma forma que ele possa passar o 12,13,14,15 como parametro.
>
> Select * from produto
> Where pkproduto in(:listapk);
>
> Eu vou tentar fazer mais alguns testes par aver se acho a solução, se
> alguem
> tiver uma forma para fazer isso também estou interessado na resolução.
>
> -----Original Message-----
> From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> On Behalf Of André Conrado
> Sent: segunda-feira, 23 de julho de 2012 11:38
> To: FireBase
> Subject: Re: [firebase-br] Variavel de pesquisa
>
> O comando IN não funciona desta forma. Ele precisa receber um lista de
> valores para efetuar uma pesquisa e o que vc está fazendo é passar
> apenas um valor. Uma string contendo uma relação de valores continua
> sendo apenas UMA STRING.
>
> O que vc precisa é do comando CONTAINING. Este verifica que uma
> determinada string CONTEM outra.
>
> Ex.:
>
> 'André Conrado Ferreira' CONTAINING 'Conrado'.
>
> Isto significa que vc terá que inverter a posição dos dados.
>
> Abçs
>
> Em 23 de julho de 2012 10:59, Emerson Sanches
> <emerson.sanches em gmail.com> escreveu:
> > Bom dia pessoal da lista, estou tentando fazer um select como o mostrado
> > abaixo:
> >
> >
> > SELECT  MinhaTabela.Data
> >                    DATA,
> >          EXTRACT(YEAR FROM  MinhaTabela.Data )
> >            ANO,
> >          EXTRACT(MONTH FROM  MinhaTabela.Data )
> >          MES,
> >          EXTRACT(YEAR FROM  MinhaTabela.Data )||
> >          EXTRACT(MONTH FROM  MinhaTabela.Data )
> >           ANO_MES
> > FROM     MinhaTabela
> > WHERE    EXTRACT(YEAR FROM  MinhaTabela.Data )||
> >          EXTRACT(MONTH FROM  MinhaTabela.Data ) IN ('20127','20126')
> >
> > Quando coloco a clausula IN no where e completo ela manualmente, conforme
> > mostrado acima, com os valores 20127 e 20126 retorna os valores
> normalmente.
> > Mas se tento fazer como abaixo:
> >
> > SELECT  MinhaTabela.Data
> >                    DATA,
> >          EXTRACT(YEAR FROM  MinhaTabela.Data )
> >            ANO,
> >          EXTRACT(MONTH FROM  MinhaTabela.Data )
> >          MES,
> >          EXTRACT(YEAR FROM  MinhaTabela.Data )||
> >          EXTRACT(MONTH FROM  MinhaTabela.Data )
> >           ANO_MES
> > FROM     MinhaTabela
> > WHERE    EXTRACT(YEAR FROM  MinhaTabela.Data )||
> >          EXTRACT(MONTH FROM  MinhaTabela.Data ) IN (:ANO_MES)
> >
> > Estou colocando uma variável dentro da clausula IN.
> > Se passar um valor unitário a esta variável, como 20127, funciona
> > perfeitamente, mas eu queria passar uma combinação de valores, por
> exemplo:
> >
> > :ANO_MES = '20127','20126,'20125'
> >
> > ai não funciona.
> > A pergunta é, será que não é possível fazer isso que estou querendo? Ou
> sou
> > eu que não estou fazendo certo? Não sei se fui claro..........mas mesmo
> > assim, obrigado pela atenção.
> >
> > PS: Essa pratica não funciona nem o IBExpert nem na aplicação (delphi),
> > quando tento passar os parâmetros.
> >
> >
> >
> >
> > Emerson Sanches
> > Analista de Sistemas
> > ______________________________________________
> > 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
>
>
> ______________________________________________
> 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