sql >> Base de Datos >  >> Database Tools >> SSMS

Parámetro funcionando en SSMS pero no en SSRS

No queda muy claro a partir de su pregunta en qué parámetro tiene problemas para implementar el filtrado "TODOS". Pero al mirar sus dos consultas, parece que es @p_ServerName parámetro. En su primera consulta, los otros dos parecen haber realizado correctamente el filtrado 'TODO'.

Así que el problema debe estar aquí:

(c1.SystemName = @p_ServerName OR c1.SystemName = c1.SystemName)

Primero, ¿qué estás tratando de lograr con la segunda parte? c1.SystemName=c1.SystemName siempre será verdadero (a menos que c1.SystemName sea NULL y si ese es su objetivo, use c1.SystemName IS NOT NULL

Creo que esto debería parecerse más a:

([email protected]_ServerName OR @p_ServerName='all')

Así es como implementó los otros dos parámetros, así que tal vez me esté perdiendo algo.

Además, no estoy seguro de lo que quiere decir cuando dice que la solución de consulta UNIONed debe ser cómo SSRS está haciendo las cosas. SSRS no vuelve a escribir sus consultas en función de los parámetros, simplemente coloca esos valores en esas variables para que los use en su consulta. Si su parámetro @p_ServerName es una cadena, entonces es solo una variable VARCHAR con los caracteres "todos" en ella.