我有以下三个表(observations
, aspect_labels
, aspects
):
观察表
结构
数据
方面标签表
结构
数据
方面表
结构
数据
这三个表背后的想法是,每个表observation
都有一个Main_Development
,Main_Positive
但也有无限数量的附加Positive
方面和Development
方面。
因此,例如,如果我现在(在observations
表中)输入一个观察值,则Main_Positive
可能是Student Enthusiasm
(aspect_label
ID 1)并且Main_Development
可能是Student Engagement
(aspect_label
ID 2)。但是,我也可以在表中添加( ID 3)的标准Positive
方面。Expectations
aspect_label
aspects
我正在尝试做的事情,按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