0

Microsoft SQL Server Report Builder レポートを作成していて、解決できない問題に直面しています。

私のレポートは、大学のクラスのリストです。すべてのコースを表示できるようにするか、一般教育コースのコースのみを表示できるようにする必要があります。

コースに関連付けることができるコース属性があります。すべての一般教育コースには、# の後に 3 文字が続くコース属性があります。

次のようにクエリの WHERE 句に #% または % のいずれかを渡すパラメーターを作成することで、解決策は非常に単純に見えました。

  • WHERE factClassAttributes.CourseAttribute LIKE '#%' (生成されたコース)
  • WHERE factClassAttributes.CourseAttribute LIKE '%'(すべてのコース)

私が期待していなかったのは、一部のコースにはコース属性がなく、% を使用してもコース属性の値が null のレコードは含まれないということです。

次に、WHERE 句を 1 つの値として、null をもう 1 つの値として含むパラメーターを設定しようと考えました。これにより、一般的な「rsErrorExecutingCommand」エラー メッセージが生成されます。

WHERE句なしで同一のレポートを作成する以外に、これを達成する方法について何か提案はありますか?

ありがとう

4

1 に答える 1

1

オプションのパラメーターを使用します。

WHERE ((@param1 IS NULL) OR (factClassAttributes.CourseAttribute LIKE @param1 +'%'))

またはヌルを動的に置き換えます。

WHERE ISNULL(factClassAttributes.CourseAttribute,'%') LIKE '#%'
于 2016-03-01T17:05:33.410 に答える