sqlserver 行转列函数
时间: 2024-04-08 09:25:37 浏览: 103
以下是两种SQL Server行转列的实现方式:
1. 使用CASE WHEN动态行转列:
```sql
declare @sql varchar(4000)
set @sql = 'select NAME'
select @sql = @sql + ',sum(case COURSE when '''+COURSE+''' then SCORE end) ['+COURSE+']'
from (select distinct COURSE from STUDENT ) as a
order by COURSE
select @sql = @sql+' from STUDENT group by NAME'
exec(@sql)
```
2. 使用内置函数PIVOT:
```sql
SELECT * FROM student PIVOT (SUM(score) FOR course IN (A,B,C,D,E,F,G,H,I) ) as t
```
相关问题
sqlserver行转列
SQL Server中的行转列指的是将行数据转换为列数据进行显示。这个问题可以通过使用SQL Server内置函数PIVOT来解决。PIVOT函数可以将行数据转换为列数据,并且可以进行聚合操作。使用PIVOT函数需要指定需要聚合显示的列的字段名和需要转换为列名的列的字段名。同时,也可以使用动态查询语句来实现这个功能。
阅读全文