У меня есть три таблицы базы данных
Graduate_survey
id(pk)AI PO1 PO2 PO3
Alumni_survey
id(pk)AI PO1 PO2 PO3
faculty_survey
id(pk)AI PO1 PO2 PO3
после вставки значений в эти таблицы и вычисления среднего по объединению трех таблиц теперь я должен сохранить среднее значение в другой таблице total_survey
total_survey
id (pk) AI PO PO1 PO2
Мои коды
<?php
@include("connection.php");
if($_POST['submit'])
{
$sql= "SELECT t.id
, AVG(t.PO1) AS total_PO1, AVG(t.PO2) AS total_PO2,
AVG(t.PO3) AS total_PO3
FROM ( SELECT Graduate_survey.id
, Graduate_survey.PO1, Graduate_survey.PO2,
Graduate_survey.PO3
FROM Graduate_survey
UNION
SELECT alumni_survey.id
, alumni_survey.PO1, alumni_survey.PO2, alumni_survey.PO3
FROM alumni_survey
UNION
SELECT faculty_survey.id
, faculty_survey.PO1, faculty_survey.PO2, faculty_survey.PO3
FROM faculty_survey
)t
GROUP BY t.id
ORDER BY t.id";
$rData=mysql_query($sql);
$res=mysql_fetch_array($rData);
$sql="insert into total_survey
values('','total_PO1','total_PO2','total_PO3')";
mysql_query($sql);
}
?>
<form method="post">
<p align="center"><input type="submit" name="submit"value="Click here to calculate the final indirect assesment">
</p>
</form>
Запрос select работает правильно, но запрос вставки не работает. Проблема в том, что мне нужно вставить данные, отображаемые запросом выбора, в другую таблицу total_survey. Как сохранить извлеченные данные в другой таблице в MySQL?
Вам нужно будет заменить некоторые из моих общих имен, но ниже, что вы после
INSERT INTO `SchemaName`.total_survey (`ColumnName1`, `ColumnName2`, `ColumnName3`, `ColumnName4`)
SELECT t.id, AVG(t.PO1) AS total_PO1, AVG(t.PO2) AS total_PO2, AVG(t.PO3) AS total_PO3
FROM ( SELECT Graduate_survey.id, Graduate_survey.PO1, Graduate_survey.PO2, Graduate_survey.PO3
FROM Graduate_survey
UNION
SELECT alumni_survey.id, alumni_survey.PO1, alumni_survey.PO2, alumni_survey.PO3
FROM alumni_survey
UNION
SELECT faculty_survey.id, faculty_survey.PO1, faculty_survey.PO2, faculty_survey.PO3
FROM faculty_survey
)t
GROUP BY t.id
ORDER BY t.id
Других решений пока нет …