我有一张教员桌,每个教员手下都有一定数量的学生。所以有一个“当前”列,它是当前在他们下面的学生人数。
但是,我不想 ++ 和 - 每次我将学生切换到另一个教师时。有没有办法通过使用 count() 的查询来更新列?我发现使用查询“select count() from student where advisor = 2”更容易、更准确,例如使用我当前的列。
我有一张教员桌,每个教员手下都有一定数量的学生。所以有一个“当前”列,它是当前在他们下面的学生人数。
但是,我不想 ++ 和 - 每次我将学生切换到另一个教师时。有没有办法通过使用 count() 的查询来更新列?我发现使用查询“select count() from student where advisor = 2”更容易、更准确,例如使用我当前的列。
为此,请使用视图:
CREATE VIEW studentCount AS
SELECT
profID,
profName,
whatever,
(SELECT COUNT(*)
FROM studentTable
WHERE studentTable.profID=profTable.profID
) AS studentCount
FROM profTable;
显然,这需要稍微调整以适应您的架构,但本质上,设置您的视图以使表的所有列都包含教师信息,并在末尾添加一个列来计算您想要的数字。