case when (case when then eles end as a)>1 or (case when then eles end as b)>2 then 3 end
时间: 2024-09-09 12:04:39 浏览: 29
在SQL中,`CASE` 语句用于基于不同的条件执行不同的分支处理。根据您提供的片段,似乎您想在SQL查询中使用 `CASE` 语句来创建两个条件表达式,并根据这些表达式的结果返回一个值。
这里是一个更完整的例子:
```sql
SELECT
CASE
WHEN some_column > 1 THEN 'a'
ELSE 'b'
END AS a,
CASE
WHEN some_other_column > 2 THEN 'c'
ELSE 'd'
END AS b,
CASE
WHEN (CASE WHEN some_column > 1 THEN 'a' ELSE 'b' END) > 1 OR
(CASE WHEN some_other_column > 2 THEN 'c' ELSE 'd' END) > 2
THEN 3
ELSE 4
END AS result
FROM your_table;
```
在这个例子中,我们使用两个`CASE`语句分别检查`some_column`和`some_other_column`的值,并将结果赋予别名`a`和`b`。然后,我们使用一个嵌套的`CASE`语句来根据`a`和`b`的值来决定`result`列的值。如果`a`的值大于1或者`b`的值大于2,则`result`为3,否则为4。
请注意,您需要根据实际的列名和表名替换`some_column`、`some_other_column`和`your_table`。
阅读全文