0

私はこのクエリを持っています:

SELECT crr.Codes
FROM Client_Response_Ranges_for_SSRS_Respondent_Answer crr
WHERE crr.Name =  @ReportParameter1

ただし、- @ReportParameter1(SSRSレポートで使用しているパラメーター)がAllまたはPrescreensの場合は、通常返されるもの(nvarchar NULL)をオーバーライドし、代わりに真のnullを返します(つまり、何も返さないのですか?) ..

私はこのようなことを試みました:

SELECT     
   CASE 
      WHEN @ReportParameter1 = 'All' THEN 'NULL'
      WHEN @ReportParameter1 = 'Prescreens' THEN NULL
      ELSE crr.Codes 
   END

しかし、それは機能せず、次のようなエラーが発生します。

ローカルレポートの処理中にエラーが発生しました。
レポートの処理中にエラーが発生しました。
データセット'DataSet2'のクエリ実行に失敗しました。
変数名'@ReportParameter1'はすでに宣言されています。変数名は、クエリバッチまたはストアドプロシージャ内で一意である必要があります。

4

1 に答える 1

2

nullの前に一重引用符を削除し、select列にalsias名を付けました。以下をお試しください:

SELECT     CASE when @ReportParameter1 = 'All' then null 
                when @ReportParameter1 = 'Prescreens' then null
                else crr.Codes end as codes
FROM         Client_Response_Ranges_for_SSRS_Respondent_Answer crr
where crr.Name =  @ReportParameter1
于 2013-01-02T03:42:30.117 に答える