不好意思,是我没说清楚,害大家浪费了许多脑细胞:)浙江的高考政策也是有点复杂,不在其中的人理解起来也不是太容易。下面我争取说得详细点:
我一直在用自己的系统为考生们义务提供志愿填报服务。系统的大致思路是这样的:根据考生的选考科目、位次号、要学的专业、想去的地域等条件,从当年的招生计划数据库中选出所有符合考生要求的专业,结合前几年的投档情况和考生的位次,形成一份从高到你排序的志愿推荐表,供考生从中选择,大大减轻了考生填报志愿的工作量。去年和今年,考生的选考科目只要有一门符合院校的要求,考生就可以填报这个专业。比如,某考生的选考科目是物理、化学、生物,浙江大学某专业对选考科目的要求是物理、技术、历史,那么考生就可以报这个专业;如果某专业的选考要求是政治、历史、地理,那考生就不能填报这个专业。因为考生的三门选考科目只要有一门符合就可以报考,都是 or的关系,所以判断条件就比较简单( xkkm是招生计划库中的字段名, xk1/xk2 xk3是我在表单中输入的考生的选考科目):
SELECT * FROM zsjh WHERE (xkkm like "%&xk1.%" OR xkkm like "%&xk2.%" OR xkkm like "%&xk3.%" OR xkkm="不限") into table zyb
但从明年开始,高校的选考要求有了变化,从原来的3门符合1门即可报考,变成了有6种要求:1门科目,考生必须选考方可报考;2门科目,考生均需选考方可报考;2门科目,考生选考其中一门即可报考;3门科目,考生均需选考方可报考;3门科目,考生选考其中一门即可报考;不提科目要求。招生计划数据库中选考科目要求也会变成类似下图所示内容:
1选1、2选1、3选1或不提科目要求,这个好判断,用类似上面的代码就行。关键是“2门科目,考生均需选考方可报考”,这个该怎么设定判断条件呢?比如上图要求,物理、化学2门均需选考方可报考。如果我的选考科目是物理、化学、生物,那我就能报考;如果我的选考科目是物理、生物、技术,那我就不能报考。
我的问题就是:对2选2的情况,我该如何写这条判断语句?
不知道我有没说清楚?谢谢大家!