Есть ли простой способ в MySQL для вставки значений в таблицу, которые извлекаются из другой таблицы

У меня есть три таблицы базы данных

    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?

-2

Решение

Вам нужно будет заменить некоторые из моих общих имен, но ниже, что вы после

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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]