sql数据库中多对多的查询语句怎样写?表如专业

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  m——i.mid=magor.mid where magorif.magorif=*****apple8160发布于2011-06-02评论我不清楚你所谓的“想通过条件表查找出相应的专业表中的数据”是指通过一个条件去查多个专业信息,还是通过多个条件去查多个专业信息,还有如果是多个条件的话那么你这是“and”还是“or”的关系!问题最好还是能尽量表达清楚点。还有你的表和字段命名很不规范,如关系表m--i,条件表中的表名称(magorif)和其所拥有的字段(magorif)相同?

  第一种情况:通过一个条件去查询专业表中的信息,想法就是通过关系表找到所有的专业ID,然后根据ID查询专业信息,当然这里的ID可能有0 、1、 或多个。图简单用in写就可以,如果你想提高效率的话,那就用exists。

  当然程序里面可能是以条件表的其他字段,那么相信你可以相应找到@fid,思想都是一样的。

  第二种情况:通过多个条件去查询专业表中的信息,or的情况很简单和上面一样,直接在where后加or fid=@fid2就行了。And话这种情况就相对复杂点了,如果只有两个条件可以直接用嵌套的条件去查询。但是我想实际情况条件多少个是无法预知的,那么无法用一条SQL搞定了,可以先视图,也可以用游标的方式去处理,相对复杂点!

相关阅读