数据库行数量max insert to proceeding Row

时间:2012-09-08 14:25:50

标签: mysql sql

您好我有这个场景目前我有3个默认部分。 A B C , 我想要做的是每次我添加一个新学生,它应检查部分是否已满,如果是这样,它应该进入下一部分。例如。当 A 已满时,学生会自动插入 B 同样会转到 B C 。到目前为止,我的 tbl_section 的结构如下:

     tbl_section:
     section_id
     section_name
     school_year
     adviser_id
     year_level

这种结构是否足够?我是否需要在 tbl_secion 上添加一个字段,例如数量?因此,每次我将新学生添加到部分时,都会增加数量。非常感谢任何帮助。我怎么能这样做。

编辑:或者我应该将 SELECT 与我的 tbl_students 相关联,以检查部分中有多少

1 个答案:

答案 0 :(得分:1)

你怎么知道一个部分是否满了?你也需要一个容量。

您还需要另一个表,SectionStudent,它告诉您学生和部分之间的分配。

使用此信息,您可以编写查询以确定第一个“非完整”部分。这是一种方式:

select s.Section
from section s join
     SectionStudent ss
     on s.section_id = ss.section_id
group by Section
having count(*) < max(s.capacity)