1.表名 cardApply 
      applyNo  varchar //申请单号 
      applyDate  date  //申请时间 
      state    varchar //申请状态 
2.表名 carApplyDetail 
      applyNo  varchar //申请单号 
      name    varchar //申请人姓名 
      idCard  varchar //ID卡号 
      state    varchar //申请单号 问题: 
    1.查询一个ID卡号有两条以上记录的ID卡号及记录个数。 
    
    2.将ID卡号为11111的记录在两个表中的申请状态均改为02。     3.假如一天有10个人申请,另外一天有20人申请,还有一天有30人申请,查询出申请卡最多的那一天日期。   

解决方案 »

  1.   

    1.查询一个ID卡号有两条以上记录的ID卡号及记录个数。 
    select idCard from (select idCard,count(idCard) counts from carApplyDetail group by idCard) where counts>=2
        
    2.将ID卡号为11111的记录在两个表中的申请状态均改为02。update cardApplyDetail set state='02' where idCard=11111update cardApply set state='02' where applyNo in (select applyNo from carApplyDetail where idCard=11111)
      
    3.假如一天有10个人申请,另外一天有20人申请,还有一天有30人申请,查询出申请卡最多的那一天日期。 select applyDate from cardApply a,((select rownum rown,applyNo,count(applyNo) counts from carApplyDetail group by idCard order by counts desc) where rown=1) b where a.applyNo=b.applyNo
     
    不知道可不可以,可能也不是最优的方法,试试吧
      

  2.   

    第一部分有点问题,忘记加入记录个数了select idCard,counts from (select idCard,count(idCard) counts from carApplyDetail group by idCard) where counts>=2
      

  3.   

    不好意思,第二部分也少写东西了select applyDate from cardApply a,(select applyNo from (select rownum rown,applyNo,count(applyNo) counts from carApplyDetail group by idCard order by counts desc) where rown=1) b where a.applyNo=b.applyNo