SQL:如何引用另一个表';检查约束中的s值

SQL:如何引用另一个表';检查约束中的s值,sql,sql-server,database,Sql,Sql Server,Database,我必须建立一个特定的数据库,关于涉及特定房间和特定学生的活动。比如,一项活动在多达4个房间(D、E、F、G)内进行,但参与活动的学生显然只能在一个房间内进行 因此,我创建了一个桌子房间,如下所示: CREATE TABLE ROOMS ( activityID int REFERENCES ACTIVITY(activityID) PRIMARY KEY ,Room char(1) CHECK(Room in ('D','E','F','G')) ); 现在我必须创建学生表,该表需要说明学生将

我必须建立一个特定的数据库,关于涉及特定房间和特定学生的活动。比如,一项活动在多达4个房间(D、E、F、G)内进行,但参与活动的学生显然只能在一个房间内进行

因此,我创建了一个桌子房间,如下所示:

CREATE TABLE ROOMS (
activityID int REFERENCES ACTIVITY(activityID) PRIMARY KEY
,Room char(1) CHECK(Room in ('D','E','F','G'))
);
现在我必须创建学生表,该表需要说明学生将在哪些房间。

但是,假设用户分配房间D和E,如何为students表创建这样的约束,以考虑在另一个表中选择的房间?

我不熟悉SQL Server或您的项目,但根据信息,我认为多对多关系是解决您问题的最佳解决方案。

MySQL或SQL Server?SQL Server,抱歉,我对这些东西不是很熟悉,比如需要一个
StudentRooms
junction table。这到底是怎么回事?