ストアド プロシージャに問題があります。
一般的な考え方は、4 つのパラメーター (選択可能または選択不可) を選択し、正しい結果を返すことができるようにすることです。これを 2 つのパラメーター (キャンパス ID は必須) で機能させることができないため、他のパラメーターは気にしませんでした。
問題はwhere句にあります
WHERE ac.AC_Campus_ID = @CampusID AND
(
ac.AC_College_ID IN (CASE @CollegeID
WHEN 0 THEN (select distinct AC_College_ID from AC_Academic_Choice)
ELSE @CollegeID
END))
これは一例です。1 のキャンパス ID を選択し、1 の大学 ID を選択しました。クエリは、これら 2 つのパラメーターの結果を返します。
1 のキャンパス ID と 0 の大学 ID を選択すると、「サブクエリが複数の値を返しました。これは、サブクエリが =、!=、<、<=、>、>= に続く場合、または次の場合には許可されません。サブクエリが式として使用されています。」
2 番目の入力を行うと、システム内のすべての大学 ID のすべての結果が必要になります。
これを機能させる方法についてのアイデアはありますか?
ありがとうございました!