我要做的是对同一列使用多个 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)
但是,我想要做的是对同一列“数量”使用不止一个 WHEN。
如以下代码所示:
IF // CODE ELSE IF // CODE ELSE IF // CODE ELSE // CODE
case 表达式有两种格式。您可以CASE使用许多WHENas;
CASE
WHEN
CASE WHEN Col1 = 1 OR Col3 = 1 THEN 1 WHEN Col1 = 2 THEN 2 ... ELSE 0 END as Qty
或者 一个简单的CASE表达式
CASE Col1 WHEN 1 THEN 11 WHEN 2 THEN 21 ELSE 13 END
或 CASE 在 CASEas 内;
CASE WHEN Col1 < 2 THEN CASE Col2 WHEN 'X' THEN 10 ELSE 11 END WHEN Col1 = 2 THEN 2 ... ELSE 0 END as Qty