首页 新闻 会员 周边

想问下这个表如何关联

0
悬赏园豆:50 [已解决问题] 解决于 2008-10-30 22:17

需求:

一个课程对应学会多个技能

一个课程需要多个技能做基础(就是说需要会多个技能基础才能学这门课程)

现在想通过技能生成课程树

就是只有学会一个课程中的多个技能才能学下一个课程

问题:

想问下如何建表才能让技能倒着关联到课程

我知道当前课程的基础技能为 技能a,技能b,技能c

我如何才能通过技能a,技能b,技能c将 能够习得 技能a,技能b,技能c 的所有课程和当前课程关联起来

问题补充: 1楼的回答和我一开始想的基本一样。 不过我需要通过你的需要技能关联到课程表 实现高级课程对低级课程的关联 例如 课程1 需要技能 无 学会技能 技能1 技能2 课程2 需要技能 技能2 技能3 学会 技能4 技能5 这个是你的表目前说能达到地范围 但是我需要的效果是 课程1 需要技能 无 推荐课程 无 学会技能 技能1 技能2 课程2 需要技能 技能2 技能3 推荐课程 课程 学会技能 技能4 技能5 你用or 可以找出有某个技能的课程 但是我需要的是当某个课程全部符合需要技能的时候 就返回那个课程 就是说想实现 and的效果 但是用inner join 是技能和课程的关联是1对1的关系 多条信息显示一个内容 所以做不到我说的and的效果
小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2731
提问于:2008-10-16 10:18
< >
分享
最佳答案
0

技能表 Technique (ID, Name)

课程表 Course (ID, Name)

学会技能关联表 ResultAssoc (TechID, CourseID)

需要技能关联表 ReqAssoc (TechID, CourseID)

 

select * from Course

inner join ResultAssoc on Course.ID = ResultAssoc.CourseID

inner join Technique on Technique.ID = ResultAssoc.TechID

where Technique.Name = '技能a' or Technique.Name = '技能b'

这样就把能学会技能a或能学会技能b的课程取出来了吧?

Gray Zhang | 专家六级 |园豆:17610 | 2008-10-16 12:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册