2012-09-08 48 views
0

你好,我有這種情況下,目前我有3個默認部分。 一個Ç, 我想要做的就是我每次添加一個新來的學生就應該檢查部分滿,如果因此它應該進展到下一部分時間。例如。當已滿學生被自動插入到相同轉到Ç。到目前爲止,我tbl_section的結構是這樣的:數據庫行數量最大插入行

 tbl_section: 
    section_id 
    section_name 
    school_year 
    adviser_id 
    year_level 

將這種結構就足夠了?我是否需要在tbl_secion上添加一個字段,例如數量?所以每次我添加一個新學生到部分它會增加數量。將不勝感激任何幫助。我該如何執行此操作。

編輯:或者我應該鏈接到我的選擇tbl_students檢查有多少是在部分

+0

你用的是什麼樣的RDBMS,MS SQL Server,MySQL,Postgre,Oracle?它有助於創建一個有用的查詢 – Yaroslav

+0

目前正在使用mysql。 – Tony

回答

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) 
+0

謝謝,我能做到這一點只使用** tbl_section **? – Tony

+0

你不想。您將不得不更新當前的學生人數。然後遞減,如果學生退出或更改部分。你真的想跟蹤哪些學生在哪裏。 –