0
パラメータ値に応じて、日付フィールドに対してフィルタリングされたレコードが返されるSSRSレポートのSQLクエリを作成する方法がより効率的ですか?1 =終了日のないすべての行2 =すべての行終了日3 =パラメータ値に関係なくすべての行。私は以下のクエリを思いついたが、ブール値を使うと、条件ごとに重複している文が必要になる(もっと多くの条件を追加する必要がある)。SSRSの条件付きパラメータ
私が持っていたその他の問題/問題は、IFまたはCASE - 。私はCASE/IFは、この場合の理想的なされているかどうかわからない、私は宣言し、それが動作デフォルト値を持つパラメータを設定すると有効でないsclar変数をというエラーメッセージが表示されます。しかしありがとう
SELECT table.field_seq_no, table.field_end_dt, MyTable2.area_off
FROM table
INNER JOIN MyTable2
ON table.comp_id = MyTable2.comp_id
AND table.prty_ref = MyTable2.prty_id
WHERE ((table.field_end_dt IS NULL)
AND (@Parameter = 1)
AND (MyTable2.area_off IN (@area))
OR ((table.field_end_dt IS NOT NULL)
AND (@Parameter = 2)
AND (MyTable2.area_off IN (@area))
OR ((@Parameter = 3) AND (MyTable2.area_off IN (@area))
それはどこにCASE式を使用するように、通常は悪い考えです句。 (最適化が難しいなど) – jarlh
個人的には、私はこれをSSRSの式に移し、 'switch(Parameters!Parameter1.Value = 1、、Parameters!Parameter1.Value = 2、、Parameters!Parameter1.Value = = 3,) ' –
JohnHC