reed_s Ответов: 1

Назначение значения на основе параметра в операторе SELECT


Я пытаюсь поместить 1 или 0 в поле в зависимости от значения параметра. Мне нужно использовать это значение для фильтрации данных, возвращаемых пользователю. Если параметр = 1, то я хочу посмотреть, существует ли значение поля в подвыборке, и если оно существует, то поместите 1 в поле PA, но если нет, то поместите 0.

Я пытаюсь использовать оператор CASE, но получаю неправильные синтаксические ошибки.

Что я уже пробовал:

ВЫБИРАТЬ
ДЕЛО
Когда @PAttendance = 1
ЗАТЕМ
АТТ.AdEnrollSchedID не входит
(
Выберите AdEnrollSchedID
От AdAttend(NOLOCK)
Где Адаттенд.Отсутствует > 0
) = 0
ЕЩЕ
1
КОНЕЦ ПА

1 Ответов

Рейтинг:
4

Gerry Schmitz

Используйте "если"... ELSE " и создать "2" SELECTS; вместо 1 SELECT и "CASE".

Если вы не можете разобраться в одном методе, попробуйте другой. SQL Server также любит "более простые" запросы, когда речь заходит об оптимизации.