根据条件,使用AVG从另一个表中的另一列向SQL结果添加列

时间:2014-02-26 19:49:30

标签: php mysql sql

我正在使用PHP编写一份报告,我必须根据职业,状态和期间条件以及dinamic结果显示学生平均得分的最高结果...平均来自另一张表。 表:cllg_student_assign。该表有一个ID,在表cllg_student_assign_course中引用,其中有一列SCORE_ACCU。我需要将来自cllg_student_assign的行与来自cllg_student_assign_course的SCORE_ACCU的AVG()放在一起,其中FK_ASSIGN = cllg_student_assign.ID。

我试着这个:

SELECT *
FROM cllg_student_assign
LEFT JOIN (SELECT a.FK_ASSIGN, AVG(a.SCORE_ACCU) as SCORE 
           FROM cllg_student_assign_course as a, cllg_student_assign as b
           WHERE b.ID=a.FK_ASSIGN) as score_table
ON cllg_student_assign.ID=score_table.FK_ASSIGN
WHERE STATUS=1
ORDER BY SCORE DESC

我得到了行,但我得到了表中整个SCORE_ACCU列的平均值,并且它只将它放在1条记录上...我需要每一行都有一个colum SCORE,其中有自己的AVG从另一行拉出表。 我之前使用过SQL,但只有基本的东西......

帮助!

0 个答案:

没有答案