mysql 列转行不确定_SQL Server行转列、不确定列的行转列

本文使用的方法: 1、用Case When 2、PIVOT函数 首先,模拟一张表: -- 创建模拟数据 CREATE TABLE #TempSubjectRe

本文使用的方法:

1、用Case When

2、PIVOT函数

首先,模拟一张表:

-- 创建模拟数据

CREATE TABLE #TempSubjectResult

(

StudentName NVARCHAR(50) NOT NULL,

StudentSubject NVARCHAR(50) NOT NULL,

StudentGrade DECIMAL(4,1) NOT NULL

)

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小姚','语文','80')

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小姚','数学','70')

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小姚','英语','60')

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小明','语文','90')

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小明','数学','95')

INSERT INTO #TempSubjectResult(StudentName,StudentSubject,StudentGrade) VALUES ('小明','英语','98')

SELECT * FROM #TempSubjectResult

表数据为:

717f559b589f14022bcb672aff886f0b.png

----------------------------------