Я пытаюсь использовать более одного условия CASE WHEN для одного столбца.
Вот мой код для запроса:
SELECT Url='',
p.ArtNo,
p.[Description],
p.Specification,
CASE
WHEN 1 = 1 or 1 = 1
THEN 1
ELSE 0
END as Qty,
p.NetPrice,
[Status] = 0
FROM Product p (NOLOCK)
Однако я хочу использовать более одного КОГДА для одного и того же столбца «qty».
Как в следующем коде:
IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
sql
sql-server-2008
Нильс Андерс
источник
источник
case when <condition> then <vaue> when <condition> then <value> . . . end
что не работает?WHEN
.Ответы:
Существует два формата выражения регистра . Вы можете сделать
CASE
со многимиWHEN
как;Или простое
CASE
выражениеИли
CASE
внутриCASE
как;источник
Просто используйте этот, Вы должны использовать больше, когда они являются классами.
источник
Вы можете использовать ниже пример случая, когда с несколькими условиями.
источник
Это может быть эффективным способом выполнения различных тестов для одного оператора.
это работает только на сравнениях равенства!
источник
источник
источник
У меня было подобное, но оно имело дело с датами. Запрос, чтобы показать все элементы за последний месяц, прекрасно работает без условий до января. Для того, чтобы он работал правильно, нужно было добавить переменную года и месяца
Теперь я просто добавляю переменную в условие: ...
источник
Сочетая все условия
источник
Примерно так: два условия, два столбца
источник
Это просто, что вам нужно несколько
When
для одного случая, чтобы вести себя какif.. Elseif else..
источник