To, co próbuję zrobić, to użyć więcej niż jednego warunku CASE WHEN dla tej samej kolumny.
Oto mój kod zapytania:
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)
Jednak chciałbym użyć więcej niż jednego KIEDY dla tej samej kolumny „ilość”.
Jak w poniższym kodzie:
IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
sql
sql-server-2008
Nils Anders
źródło
źródło
case when <condition> then <vaue> when <condition> then <value> . . . end
tym nie działa?WHEN
.Odpowiedzi:
Istnieją dwa formaty wyrażeń wielkości liter . Możesz zrobić
CASE
z wieloma,WHEN
jak;Lub proste
CASE
wyrażenieLub
CASE
w obrębieCASE
jako;źródło
Po prostu użyj tego, musisz użyć więcej, gdy są to zajęcia.
źródło
Możesz użyć poniższego przykładu przypadku, gdy z wieloma warunkami.
źródło
Może to być skuteczny sposób wykonywania różnych testów na jednej instrukcji
działa to tylko w przypadku porównań równości!
źródło
źródło
źródło
Miałem podobny, ale chodziło o randki. Zapytanie pokazujące wszystkie pozycje z ostatniego miesiąca, działa świetnie bez warunków do stycznia. Do poprawnego działania potrzebne jest dodanie zmiennej roku i miesiąca
Teraz po prostu dodaję zmienną do warunku: ...
źródło
Łącząc wszystkie warunki
źródło
Coś w tym stylu, dwa warunki, dwie kolumny
źródło
Po prostu potrzebujesz wielu,
When
aby pojedyncza skrzynka zachowywała się jakif.. Elseif else..
źródło