我有以下三个表(observations, aspect_labels, aspects):
观察表
结构

数据

方面标签表
结构

数据

方面表
结构

数据

这三个表背后的想法是,每个表observation都有一个Main_Development,Main_Positive但也有无限数量的附加Positive方面和Development方面。
因此,例如,如果我现在(在observations表中)输入一个观察值,则Main_Positive可能是Student Enthusiasm(aspect_labelID 1)并且Main_Development可能是Student Engagement(aspect_labelID 2)。但是,我也可以在表中添加( ID 3)的标准Positive方面。Expectationsaspect_labelaspects
我正在尝试做的事情,按Teacher_ID,是显示每个工作人员aspect在他们的观察中列出的次数。
所以,我想看看D Wraight有 2 Student Engagement, 0 Expectations, 1Student Enthusiasm等。
此查询Main_Positive对表中的方面执行此操作,observations但我不知道如何将aspects表中的行添加到查询中。
SELECT
CONCAT(sta.Firstname, " ", sta.Surname) AS `Member of Staff`,
SUM(IF(o.`Main_Positive` = 1, 1, 0)) AS `Student enthusiasm`,
SUM(IF(o.`Main_Positive` = 2, 1, 0)) AS `Student engagement`,
SUM(IF(o.`Main_Positive` = 3, 1, 0)) AS `Expectations`,
SUM(IF(o.`Main_Positive` = 4, 1, 0)) AS `Safe and supportive environment`,
SUM(IF(o.`Main_Positive` = 5, 1, 0)) AS `Attitude and values of teacher`,
SUM(IF(o.`Main_Positive` = 6, 1, 0)) AS `Objectives to stretch all students`,
<< MORE GOES HERE >>
FROM frog_observations.observations o
LEFT JOIN frog_shared.staff sta ON o.Teacher_ID = sta.ID
GROUP BY o.Teacher_ID
ORDER BY sta.Surname ASC, sta.Firstname ASC
查询产生此输出(当 PHPMA 导出为 CSV 时):

如何修改查询以包含来自aspects表中的连接行?
编辑:SQL 小提琴:http ://sqlfiddle.com/#!2/75cf3/1/0