2017-04-25 192 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或您的項目,但基於信息我認爲多對多的關係是您的問題的最佳解決方案。