CASE** returns **第一个**的结果

CASE** returns the result of the **first**

我正在尝试在 SQL 中做一些 case 陈述。下面的例子展示了我想要做什么。

例子

case WHEN p = 1 THEN 'SOMETHING' 
     WHEN p = 1 AND q = 1 THEN 'SOMETHING ELSE'

此处,CASE returns first WHEN 子句的结果 true。在此示例中,firstsecond WHEN 条件为 true,但 returns 第一个一个的结果。

CASE 总是按顺序执行。只需更改 WHEN 子句的顺序即可获得所需内容:

case WHEN p = 1 AND q = 1 THEN 'SOMETHING ELSE'
     WHEN p = 1 THEN 'SOMETHING' 
end