[firebase-br] Variavel de pesquisa

Matheus(GMAIL) matheus.jgs em gmail.com
Seg Jul 23 11:43:49 -03 2012


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





Mais detalhes sobre a lista de discussão lista