У меня возникла проблема с моей хранимой процедурой.Использование подзапроса внутри оператора where
Общая идея состоит в том, чтобы иметь возможность выбирать 4 параметра (которые могут быть выбраны или нет) и возвращать правильные результаты. Потому что я действительно не могу заставить это работать с двумя параметрами (идентификатор Campus обязательно) Я не потрудился делать остальные.
Проблема заключается в моем где положение
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, и я выбрал идентификатор колледжа 1. Запрос вернет результаты для этих 2 параметров.
Когда я выбираю идентификатор кампуса 1 и идентификатор колледжа 0 .. Я получаю «Подзапрос возвращен более чем на 1 значение. Это недопустимо, когда подзапрос следует за =,! =, <, < =,>, > = или когда подзапрос используется как выражение. "
Когда я делаю второй ввод, я хочу получить все результаты каждого идентификатора колледжа в системе.
Любые идеи о том, как заставить это работать?
Спасибо!
Это помогло мне поблагодарить вас! – gmalenko