假设我有3个mysql表 - teacher
,subject
和class
,每个表只有两个字段id
和name
如果每个教师都可以教授每个课程中的每个科目,那么如果我的第四个表格包含三个teacher_id
字段subject_id
,那么使用SQL将这些信息插入第四个表以保存该数据的好方法是什么? 1}}和class_id
仅举一个例子说明,如果我只有两位老师(老师.1和2),两个科目(科目1和2)和两个班级(班级1和2),数据在第四个表中看起来像下面。
teacher_id subject_id class_id
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
答案 0 :(得分:1)
使用教师,科目,班级表的笛卡尔积的子选择进行插入。
INSERT INTO fourth_table
(SELECT * FROM teacher, subject, class)
答案 1 :(得分:0)
好像你正在看交叉连接或笛卡儿产品。
http://en.wikipedia.org/wiki/Join_%28SQL%29#Cross_join
在你的情况下
SELECT teacher_id, subject_id, class_id
FROM teacher JOIN subject JOIN class
ORDER BY teacher_id, subject_id, class_id
对于大量数据,这可能需要一段时间才能返回。