合并表的所有行并添加到另一行

时间:2015-04-27 05:43:32

标签: mysql sql

我有中期结果表,测验中的每个问题都会单独评分。完成后,我想将所有行的某些字段添加到一行中,然后将该行添加到adminresults表中。我能够通过两个步骤完成此操作,但不确定如何将其组合到单个查询中。

这是我的代码,用于组合interimr table

中的特定字段
select sum(TotalScore),
       sum(ActualScore),
       GROUP_CONCAT(Scorebreakdown),
       GROUP_CONCAT(Feedback)
From interimr

这是我在adminresults table中输入特定字段的代码:

INSERT INTO `adminresults`(`TotalScore`, `ActualScore`, `Scorebreakdown`, `Feedback`)
VALUES (50,40, 'First try', 'First try')

我已经超链接了我的表格结构的图片。感谢

1 个答案:

答案 0 :(得分:1)

我假设通过"添加到"你的意思是insert into。如果你的意思是"更新"中的单行,那么语法会有所不同。

只需使用insert . . . select语法:

INSERT INTO `adminresults`(`TotalScore`, `ActualScore`, `Scorebreakdown`, `Feedback`) 
    select sum(TotalScore), sum(ActualScore), GROUP_CONCAT(Scorebreakdown), GROUP_CONCAT(Feedback)
    From interimr;

注意:您可能需要其他信息,例如插入的日期/时间,但这不在您的问题范围内。