我在 MSSQL 数据库中有这两个表。
学生偏好表 (该表的偏好列在数据库中编号为 1-7)
------------------------------------------------------------------------------
Student Name | Preference 1| Preference 2 | Preference 3 |Group ID
-----------------------------------------------------------------------
Student A | Student G | Student F | Student G |
Student B | Student H | Student K | Student L |
Student C | Student I | Student A
Student D | Student H | Student K
Student E
Student F
Student G
Student H
Student I
Student J
Student K
Student L
-----------------------------------------------------------------------------
组表
|Group ID |
---------
1
2
3
----------
我正在根据学生输入的偏好(首选合作伙伴/队友)创建学生组。每组可以有 5-8 名学生。并非所有学生都会输入偏好。要创建一个组,我将检查输入了 4-7 个偏好的学生并将他们添加到一个组中。例如,学生 A 输入了 4 个偏好。包括学生 A 现在我有 5 名学生最少需要组。所以,我想插入“组表”并检索该数字并插入每个学生的“组 ID”列。如果学生输入的偏好少于 4 个,我将不得不创建一个新的“组 id”并分配给学生,但我还必须检查每组 5-8 名学生是否违反条件。
有人可以指导我吗?如何检查超过 4 个首选项列包含数据(名称)的行?如果存在超过 4 个偏好的学生,那么我如何在组表(组 ID(auto-inc))中插入新记录并将其检索回以插入学生偏好表。在插入组 ID 之前,我如何检查 5-8 名学生的条件是否违反?我试图找出如何以最简单的方式解决这些问题(使用 c# 或 SQL)?我正在用 C# 编写应用程序。