[firebase-br] Variavel de pesquisa

Matheus(GMAIL) matheus.jgs em gmail.com
Seg Jul 23 14:16:41 -03 2012


Não deu totalmente certo.

Exemplo:
Select * from produto
Where :lista containing pkproduto

Lista = 11,111,112

Resultado:
11,12,111,112...

Nao sei se tem algum equivoco na minha forma de pensar acho que não vai
funcionar o containing para isso nã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 13:51
To: FireBase
Subject: Re: [firebase-br] Variavel de pesquisa

Esse assunto já foi discutido na lista.

O comando CONTAINING funciona exatamente do jeito que ele precisa.

Concatene os valores numa string e passe-a como parâmetro que vai funcionar.

Abçs.

Em 23 de julho de 2012 11:52, Emerson Sanches
<emerson.sanches em gmail.com> escreveu:
> 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
>>
> ______________________________________________
> 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