create table TestTable (name nvarchar(10),course varchar(10))
insert into TestTable values('stu1', 'a')
insert into TestTable values('stu1', 'b')
insert into TestTable values('stu1', 'c')
insert into TestTable values('stu2', 'a')
insert into TestTable values('stu2', 'b')
go
select name ,
max(case px when 1 then course else '' end) course1,
max(case px when 2 then course else '' end) course2,
max(case px when 3 then course else '' end) course3
from
(
select t.* , px = row_number() over(partition by name order by course) from TestTable t
) m
group by name.net拼装sql语句使 数据表的行列转换
最新推荐文章于 2023-06-09 14:12:08 发布
本文介绍了一种使用SQL来实现特定格式的学生课程列表查询的方法。通过使用子查询与窗口函数ROW_NUMBER(),实现了按学生姓名分组并按课程排序的数据展现形式。此方法适用于需要展示每个学生最多三项课程的情况。
4938

被折叠的 条评论
为什么被折叠?



