SSMS
 sql >> Database >  >> Database Tools >> SSMS

Parametro funzionante in SSMS ma non SSRS

Non è molto chiaro dalla tua domanda su quale parametro hai problemi a implementare il filtro "TUTTO". Ma guardando le tue due query sembra che sia il @p_ServerName parametro. Nella tua prima query sembra che gli altri due abbiano eseguito correttamente il filtraggio "TUTTO".

Quindi il problema deve essere qui:

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

Primo, cosa stai cercando di ottenere con la seconda parte? c1.SystemName=c1.SystemName sarà sempre vero (a meno che c1.SystemName non sia NULL e se questo è il tuo obiettivo, usa c1.SystemName IS NOT NULL

Penso che questo dovrebbe assomigliare di più a:

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

Ecco come hai implementato gli altri due parametri, quindi forse mi sfugge qualcosa.

Inoltre, non sono sicuro di cosa intendi quando dici che la soluzione di query UNIONed deve essere il modo in cui SSRS sta facendo le cose. SSRS non riscrive le tue query in base ai parametri, ma inserisce semplicemente quei valori in quelle variabili che puoi utilizzare nella tua query. Se il tuo parametro @p_ServerName è una stringa, quindi è solo una variabile VARCHAR con i caratteri "tutto".