Inquiridor
Reporting Services - Clausula where - "IN"

Pergunta
-
Boa noite a todos,
Tenho uma query no reporting services que na minha clausula where tem uma instrução "IN", só que quando vou executar a pesquisa não é me retornado os dados certo.
Gostaria de saber se alguem já passou por isso, se alguem já precisou de fazer um select em um relatório usando na clausula where um "IN" ?
Obrigado a todos!
Todas as Respostas
-
-
Daniel,
O problema que ocorre comigo é o seguinte, faço um select em uma base sybase e minha query é assim:
select campo1
from tabela1
where campo 2 in (?)
? = meu parametro.
Quando passo parametros por exemplo: 12345,32165
Dá erro nessa hora! Na realidada não dá erro não é retornado nada, sendo que chamando direto o sql funciona, por um acaso o reporting services não aceita o parametro passado no IN ?
-
-
Daniel,
Tudo bem cara, consegui resolver essa questão, usando uma query dinamica.
Só que agora estou precisando nessa query dinamica fazer um union, só que não funciona de jeito nenhum, sempre é gerado um erro dizendo que a sintaxe está errada.
="select campos
from table01
where campo("& Parameters!Campo.Value &")
union
select campos
from table01
where campo("& Parameters!Campo.Value &")"
Por um acaso você já passou por isso alguma vez.
Obrigado cara!
-
Paulo, já tive exatamente este mesmo problema utilizando base ORACLE, mas não precisei criar query dinâmica pra resolver.
A parte do IN ficava normal:
CAMPO IN (
ARAMETRO1)
No reporting services em vez de deixar este
ARAMETRO1 como uma caixa de texto, onde o cara digite os valores separador por virgula, no REPORT PARAMETERS eu coloquei os valores possiveis (fixos ou retornados de uma query), e habilitei a opção MULTIVALUE.
Somente isto e tudo funcionou como uma maravilha.
Ou voce pode ir pelo lado dificil e tentar implementar isto:
http://vyaskn.tripod.com/passing_arrays_to_stored_procedures.htm
Espero ter ajudado