我有两张桌子; result
和total
。
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());
?>
答案 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());
}
?>
必须有效