2017-04-25 193 views
-1

我必须创建一个关于涉及特定房间和特定学生的活动的特定数据库。类似的,一个活动发生在多达4个房间(D,E,F和G),但参与活动的学生显然只能在一个房间里。SQL:如何在CHECK约束中引用另一个表的值

所以,我创建了一个表室,像这样:

CREATE TABLE ROOMS (
activityID int REFERENCES ACTIVITY(activityID) PRIMARY KEY 
,Room char(1) CHECK(Room in ('D','E','F','G')) 
); 

现在我要创建表的学生,需要说将在哪些房间的学生
然而,说用户分配房间D和E,我如何为学生表创建这样的约束,以考虑在另一个表中选择的房间?

+0

MySQL或SQL-Server? –

+0

SQL Server,对不起,我对这些东西不是很熟悉 –

+1

听起来像是一个'StudentRooms'结表。 –

回答

0

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