我有中期结果表,测验中的每个问题都会单独评分。完成后,我想将所有行的某些字段添加到一行中,然后将该行添加到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')
我已经超链接了我的表格结构的图片。感谢
答案 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;
注意:您可能需要其他信息,例如插入的日期/时间,但这不在您的问题范围内。