我要求建立一个asp.net注册表单,允许学生注册培训。到目前为止,我在sql server和3个表中构建了一个数据库:student
,training
& studenttraining
我的问题是,我怎样才能限制表单在特定培训结束后显示可用日期,或者如何通过检查用户可以注册的表来预防?
答案 0 :(得分:2)
Select count(*) as SeatsFilled, t.TrainingKey, t.TrainingDate
From Training t
Inner Join StudentTraining st on t.TrainingKey = st.TrainingKey
Group By t.TrainingKey, t.TrainingDate
Having count(*) < t.TotalSeats
TotalSeats是Training表中的一列,用于指定培训提供的席位数。我认为StudentTraining是学生和培训之间的多对多桥牌表。
答案 1 :(得分:1)
您需要先确定“完整”的内容。然后,你可以做一个简单的事情
SELECT COUNT(id) FROM table
确定是否已达到全额。
答案 2 :(得分:0)
我猜您可以在培训表中找到MaxTraining列,当您获得表单的数据时,您可以计算studenttraining中的培训条目,如果它等于MaxTraining,那么请不要带上该培训条目,因为这意味着它已经满了。