Mysql 教师有2个教学科目
桌子 我的问题是:Mysql 教师有2个教学科目,mysql,sql,database,Mysql,Sql,Database,桌子 我的问题是: Instructor ------------------------------------------------------ | id | firstname | lastname | subject_id | section_id | ------------------------------------------------------ 1 John Smith 1
Instructor
------------------------------------------------------
| id | firstname | lastname | subject_id | section_id |
------------------------------------------------------
1 John Smith 1 1
Subject
-------------
| id | name |
-------------
1 English
2 Math
Section
-------------
| id | name |
-------------
1 Section A
结果:
SELECT ins.firstname, ins.lastname,sec.name as "Section Name", sub.name as "Subject"
FROM instructor as ins
JOIN section as sec
JOIN subject as sub
WHERE ins.section_id = sec.id AND ins.subject_id = sub.id AND ins.id =1
我的问题是,如果老师约翰·史密斯也教数学,我会怎么问?我需要添加新的主题id吗?有什么解决办法吗
谢谢,您可以添加另一个表格,用于存储每位讲师的主题,例如
firstname lastname Section Name Subject
John Smith Section A English
讲师id
和主题id
CREATE TABLE Instructor
(
ID INT,
InstructorName VARCHAR(30),
..... -- other fields here
);
CREATE TABLE Subject
(
ID INT,
SubjectNameName VARCHAR(30),
..... -- other fields here
);
CREATE TABLE INSTRUCTOR_SUBJECT
(
RecID INT,
InstructorID INT,
SubjectID INT,
CONSTRAINT tc_pk PRIMARY KEY (RecID),
CONSTRAINT tc_fk1 FOREIGN KEY (InstructorID) REFERENCES Instructor(ID),
CONSTRAINT tc_fk2 FOREIGN KEY (SubjectID) REFERENCES Subject(ID)
);