O que estou tentando fazer é usar mais de uma condição CASE WHEN para a mesma coluna.
Aqui está o meu código para a consulta:
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)
No entanto, o que eu quero fazer é usar mais de um WHEN para a mesma coluna "qty".
Como no código a seguir:
IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
sql
sql-server-2008
Nils Anders
fonte
fonte
case when <condition> then <vaue> when <condition> then <value> . . . end
isso não está funcionando?WHEN
.Respostas:
Existem dois formatos de expressão de caso . Você pode fazer
CASE
com muitosWHEN
como;Ou uma
CASE
expressão simplesOu
CASE
dentroCASE
como;fonte
Basta usar este, você tem que usar mais quando são aulas.
fonte
Você pode usar abaixo o exemplo de caso quando com várias condições.
fonte
Essa pode ser uma maneira eficiente de executar testes diferentes em uma única instrução
isso funciona apenas em comparações de igualdade!
fonte
fonte
fonte
Eu tinha um similar, mas estava lidando com datas. Consulta para mostrar todos os itens do último mês, funciona muito bem sem condições até janeiro. Para que funcione corretamente, é necessário adicionar uma variável de ano e mês
Agora, apenas adiciono a variável à condição: ...
fonte
Combinando todas as condições
fonte
Algo assim, duas condições, duas colunas
fonte
É só que você precisa de múltiplos
When
para um único caso se comportar comoif.. Elseif else..
fonte