取消转换列名称
我有一张表格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小提琴