我的存储过程有问题。
总体思路是能够选择一个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 时,我得到“子查询返回超过 1 个值。当子查询遵循 =、!=、<、<=、>、>= 或当子查询用作表达式。”
当我进行第二次输入时,我想要系统中每个大学 ID 的所有结果。
关于如何让它发挥作用的任何想法?
谢谢!