我是SQL的初学者:),请原谅我这是一个愚蠢的问题。 我的主表包含大学名称。每个大学都有多个课程。我打算为每所大学提供的所有课程单独创建一个表格?即:每个学院(主表中的数据项)获得一个单独的课程表 我应该在主表中为每个大学创建一个名为课程的单独表格吗? 这是这样做的吗?
答案 0 :(得分:1)
一门课程将由不同的拼贴画提供,一个拼贴画将有不同的课程。所以你需要拼贴和课程之间的多对多关系。所以make 3 tables
collage (id,collage,other info)
course(id,course_name,other info)
collage_course(id,collage_id(fk),course_id(fk))
说你有
collage(1,my_collage,description)
course((1,a,''),(2,b,''),(3,c,''))
collage_course((1,1,1),(2,1,3))
你有3门课程(a,b,c),id(1,2,3) 你有一个id为1的拼贴画(my_collage) 你有2个拼贴课程(my_collage) 所以在你的collage_course中你有
id collage_id course_id
1 1 1
2 1 3
因此您需要运行查询以获取my_collage的所有课程报价,如下所示:
select clg.name, crs.name from collage_course cc join collage clg on clg.id=cc.collage_id join course on crs.id= cc.course_id where clg.name='my_collage'
如果您有任何疑问,请与我联系。