取消转换列名称

我有一张表格StudentMarks ,列Name, Maths, Science, English 。 数据就像

 Name, Maths, Science, English Tilak, 90, 40, 60 Raj, 30, 20, 10 

我想要把它安排如下:

 Name, Subject, Marks Tilak, Maths, 90 Tilak, Science, 40 Tilak, English, 60 

With unpivot我能够得到名称,正确标记,但无法将源表中的列名称获取到所需结果集中的Subject列。

我怎样才能做到这一点?

我到目前为止已经达到以下查询(获得名称,标记)

 select Name, Marks from studentmarks Unpivot ( Marks for details in (Maths, Science, English) ) as UnPvt 

您的查询非常接近。 您应该能够使用以下内容,包括最终select列表中的subject

 select u.name, u.subject, u.marks from student s unpivot ( marks for subject in (Maths, Science, English) ) u; 

看演示与SQL小提琴