有两个表: answer 和problem .两个表中的部分字段如下:
answer 表中的字段:  id, problem(外键) askstate(回答状态)。  problem  表中的字段:id, asksate(根据answer的状态设置,如果它的回答有最佳答案,那么就设置为1,反之为0), answernum(回答条数)    其中asksate可以有三种值分别为0, 1(代表被采取为正确答案), -1(回答过期),一个problem只能对应一个最佳答案,但是现在此表中的数据,一个problem的两个回答都会1,现在要设置其中的一个为1的等于0。数据库中大概有将近2000条的数据,该怎么写sql语句。急用,请各位高手指点!谢谢

解决方案 »

  1.   

    也就是对answer表中的problem_id相同的askstate字段进行状态的重新设置吗?用函数应该很好实现吧,只需用id作为游标,对problem_id相同的进行判断,让askstate内容不重复。  只是你说的条件不明确,askstate的内容具体是些什么,怎么区分最佳答案,另外problem表中的问题都应该是唯一的吧?你所谓的一个problem的两个回答都为1又是什么意思呢?