sql server when case 连表
时间: 2024-06-20 12:01:16 浏览: 138
`SQL Server`中的`WHEN`和`CASE`关键字通常用于`CASE`表达式中,这是一种条件选择语句,可以用来根据特定条件返回不同的值。当你需要在查询结果中基于某列的值进行条件判断并返回不同的值或者执行不同的操作时,`CASE`语句非常有用。
`WHEN`子句定义了多个可能的条件对,每个`WHEN`后面跟着一个`THEN`来指定满足条件时的结果。如果所有`WHEN`都不匹配,`ELSE`部分(可选)提供了一个默认结果。
基本语法如下:
```sql
SELECT
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
[WHEN conditionN THEN resultN]
ELSE default_result
END,
...
FROM table_name
[WHERE conditions]
```
如果你想要使用`WHEN`和`CASE`来进行联表操作,通常是用来在连接后的表上进行条件过滤或者转换数据。例如,你可以这样在联表后根据某个字段的值进行分类:
```sql
SELECT
T1.column1,
T2.column2,
(
CASE
WHEN T1.join_column = 'value1' THEN 'Category1'
WHEN T1.join_column = 'value2' THEN 'Category2'
ELSE 'Other'
END
) as Category,
FROM
Table1 T1
INNER JOIN
Table2 T2 ON T1.common_column = T2.common_column
```
这里,`join_column`是T1中的列,我们根据其值将结果分为不同的类别。
阅读全文