从表一表中选择数据并插入另一个表

时间:2015-05-09 10:52:19

标签: php mysql

我有两张桌子; resulttotal

result(student_code,mark)
total(student_code,total)

total列应包含学生的总分。

所以我编写了一个SQL语句,通过使用SELECT语句将结果表中的数据插入到总表中,该语句应该将特定的student_code和他/她的标记作为求和,然后将其存储在total表中

但是,每当我尝试时,查询失败或只需要一个学生

当我使用此查询时,它只适用于一个student_code为1的学生,但我需要将所有学生及其分数作为总数

<?php

// copy student student_code and summation of his/her mark  from result table into total table
$query = 'INSERT INTO total
(student_code, total)
SELECT  student_code, SUM(mark)
FROM
result
WHERE
student_code = 1';
$sql = mysql_query($query) or (mysql_error());
?>

当我使用学生代码作为变量时,我什么都没得到

<?php

// copy student student_code and summation of his/her mark  from result table into total table
$query = 'INSERT INTO total
(student_code, total)
SELECT  student_code, SUM(mark)
FROM
result
WHERE
student_code = "' . $student_code . '"';
$sql = mysql_query($query) or (mysql_error());
?>

1 个答案:

答案 0 :(得分:0)

您必须执行两个不同的查询,首先查询选择数据,然后将其存储到php变量,然后使用第二个查询将其插入另一个表

UPDATE ----

试试此代码

<?php
for($i = 1; $i < 102; $i++)
{
$query = 'INSERT INTO total (student_code, total) SELECT  student_code, SUM(mark) FROM result WHERE student_code = "$i"';
$sql = mysql_query($query) or (mysql_error());
}
?>

必须有效