Ich versuche, mehr als eine CASE WHEN-Bedingung für dieselbe Spalte zu verwenden.
Hier ist mein Code für die Abfrage:
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)
Ich möchte jedoch mehr als ein WANN für dieselbe Spalte "Menge" verwenden.
Wie im folgenden Code:
IF
// CODE
ELSE IF
// CODE
ELSE IF
// CODE
ELSE
// CODE
sql
sql-server-2008
Nils Anders
quelle
quelle
case when <condition> then <vaue> when <condition> then <value> . . . end
daran nicht?WHEN
.Antworten:
Es gibt zwei Formate für den Fallausdruck . Sie können
CASE
mit vielenWHEN
als tun ;Oder ein einfacher
CASE
AusdruckOder
CASE
innerhalbCASE
als;quelle
Verwenden Sie einfach diese. Sie müssen mehr verwenden, wenn es sich um Klassen handelt.
quelle
Sie können das folgende Beispiel für einen Fall verwenden, wenn mehrere Bedingungen vorliegen.
quelle
Dies kann eine effiziente Möglichkeit sein, verschiedene Tests für eine einzelne Anweisung durchzuführen
Dies funktioniert nur bei Gleichheitsvergleichen!
quelle
quelle
quelle
Ich hatte ein ähnliches, aber es handelte sich um Daten. Die Abfrage, um alle Elemente für den letzten Monat anzuzeigen, funktioniert bis Januar ohne Bedingungen. Damit dies ordnungsgemäß funktioniert, muss eine Variable für Jahr und Monat hinzugefügt werden
Jetzt füge ich einfach die Variable in Bedingung hinzu: ...
quelle
Alle Bedingungen kombinieren
quelle
So etwas wie zwei Bedingungen, zwei Spalten
quelle
Es ist nur so, dass Sie mehrere
When
für einen einzelnen Fall benötigen, um sich so zu verhaltenif.. Elseif else..
quelle