使用sql存储过程将列值移动到下一行

使用sql存储过程将列值移动到下一行,sql,sql-server,Sql,Sql Server,在下面的查询中,我从表中选择值,它有4列名称、年龄、类别、rollno。我想在2列(即)中显示它,使2列值移动到下一行,4列值移动到下一行。请帮助我这样做 StudentID|name/age|class/Roll no| 1 xxx 2 1 5 123556 2 yyy 2 2 5 123557 Select studentid,name.age,class,ro

在下面的查询中,我从表中选择值,它有4列名称、年龄、类别、rollno。我想在2列(即)中显示它,使2列值移动到下一行,4列值移动到下一行。请帮助我这样做

StudentID|name/age|class/Roll no|
1          xxx       2
1           5        123556
2          yyy        2
2           5        123557

Select studentid,name.age,class,roll no from student

您可以
UNION ALL
并使用2个查询。我必须将age转换为varchar,这样它才能进入name.age列

select id, name as 'name.age', class as 'class.rollno'
from student
union all
select id, cast(age as varchar), rollno
from student
order by id, name desc