「ALL」フィルタリングの実装で問題が発生しているパラメータは、質問からはあまり明確ではありません。しかし、2つのクエリを見ると、@p_ServerName
のように見えます。 パラメータ。最初のクエリでは、他の2つは「ALL」フィルタリングが適切に行われたようです。
したがって、問題はここにあるはずです:
(c1.SystemName = @p_ServerName OR c1.SystemName = c1.SystemName)
まず、2番目の部分で何を達成しようとしていますか? c1.SystemName=c1.SystemName
常にtrueになります(c1.SystemNameがNULL
でない限り) それが目標である場合は、c1.SystemName IS NOT NULL
を使用してください
これはもっと似ているはずだと思います:
([email protected]_ServerName OR @p_ServerName='all')
これが他の2つのパラメーターの実装方法であるため、何かが足りない可能性があります。
また、UNIONedクエリソリューションはSSRSの動作方法である必要があると言ったときに、どういう意味かわかりません。 SSRSは、パラメーターに基づいてクエリを書き換えるのではなく、クエリで使用できるようにそれらの変数にその値を固定するだけです。パラメータ@p_ServerName
の場合 は文字列であり、文字「all」を含む単なるVARCHAR変数です。