SQL如何在另一行的新列中添加值

SQL如何在另一行的新列中添加值,sql,Sql,我有一张学生考试成绩表。每次考试都有自己的一行,我想给每个学生一行所有的成绩。。。 例如: Student1 : email : school : comment : result1 Student1 : email : school : comment : result2 ... 必须是: Student1 : email : school : comment : result1 : result2 非常感谢 你需要改变你的桌子 可能选项是创建一个新表a,然后将数据复制到新表中 CREAT

我有一张学生考试成绩表。每次考试都有自己的一行,我想给每个学生一行所有的成绩。。。 例如:

Student1 : email : school : comment : result1
Student1 : email : school : comment : result2
...
必须是:

Student1 : email : school : comment : result1 : result2

非常感谢

你需要改变你的桌子

可能选项是创建一个新表a,然后将数据复制到新表中

CREATE TABLE NEWTABLE (Student1 Varchar(130), email Varchar(130), 
school Varchar(80), comment Varchar(255), result1 FLOAT, result2 FLOAT);
然后


没有针对每个学生的考试是固定的或更改的?如何取决于哪个dbms,但您正在寻找符合您兴趣的交叉表或透视查询库。。。我使用SQL2008r2。我已经读了很多关于pivot的书,但是在所有的例子中我发现有一个聚合函数,但我不需要这个(?)
INSERT INTO NEWEXAM 
SELECT (Student1 , email , school , comment , result1, '') FROM OLDTABLE