三個表的聯合計算平均我有三個數據庫表簡單的方式通過使用MySQL和PHP
Graduate_survey
g_id(pk)AI PO PO1 PO2 Program_name year1 year2
Alumni_survey
a_id(pk)AI PO PO1 PO2 Program_name year1 year2
faculty_survey
f_id(pk)AI PO PO1 PO2 Program_name year1 year2
插入值插入這些表後,我需要計算平均值和存儲在另一個表中的平均值total_survey
total_survey
t_id(pk)AI PO PO1 PO2 Program_name year1 year2
使用$_session
插入Program_name,year1,year2。 如何使用MySQL查詢計算平均值並將新值存儲在使用php的另一個表中?我的代碼在下面給出,但它不起作用。
<?php
@include("connection.php");
error_reporting(0);
$program=$_POST['Program_name'];
$year1=$_POST["year1"];
$year2=$_POST["year2"];
$po=$_POST["total_PO"];
$po1=$_POST["total_PO1"];
$po2=$_POST["total_PO2"];
$_SESSION['SProgram_name']=$program;
$_SESSION['Syear1']=$year1;
$_SESSION['Syear2']=$year2;
if($_POST['submit'])
{
$sql= "SELECT AVG(t.PO) AS total_PO, AVG(t.PO1) AS
total_PO1, AVG(t.PO2) AS total_PO2
FROM (SELECT PO,PO1,PO2
FROM Graduate_survey
UNION ALL
SELECT PO,PO1,PO2
FROM alumni_survey
UNION ALL
SELECT PO,PO1,PO2
FROM faculty_survey
)*t";
$rData=mysql_query($sql);
$res=mysql_fetch_array($rData);
$sql="select * from total_survey";
$rData=mysql_query($sql);
$res=mysql_fetch_array($rData);
$sql="insert into total_survey
values('','$po','$po1','$po2','$program','$year1','$year2')";
mysql_query($sql);
}
?>
<form method="post">
<p align="center"><input type="submit" name="submit" value="Click
here to calculate the final indirect assesment">
</form>
假設在graduate_survey表中的PO列包含70,PO1含有60和PO2含有80。在alumni_survey PO列包含60,PO1含有70和PO2包含90.In的faculty_survey PO列包含90,PO1包含80並且PO2包含60.我需要的是所有三個表格組通過ID聯合的平均值(PO + PO + PO),平均值(PO1 + PO1 + PO1),平均值(PO2 + PO2 + PO2)
你想插入什麼?均值的平均值?這並沒有多少意義誠實 –
avg,avg1,avg2這些是列名....研究生調查,alumni_survey和faculty_survey是一些調查表格,其中一些平均計算完成,並必須將其存儲在數據庫中...現在我需要總結這些數據庫的列並對其進行平均......例如在Graduate_survey avg中,avg1,avg2包含一些numarical值,在Alumni_survey和faculty_survey中包含相同的值。現在我需要的是avg(graduate_survey)+ avg(alumni_survey)+ avg(faculty_survey)/ 3的平均值......在avg1和avg2的情況下相同......並且平均值將不得不存儲在另一個表中。 –