现有一张    收款纪录表(开票金额,实际收款,开票日期,合同结束日期,收款日期),
   
要对记录按下面的条件进行排序
 
      1、开票金额>0  实际收款 = 0或是实际收款<开票金额      2、开票金额=0 实际收款 = 0      3、开票金额>0 实际收款 >0    
然后再  开票日期升序   合同结束日期升序   收款日期 降序怎么做怎么做怎么做??????????????

解决方案 »

  1.   

    //开票金额 int  bill
    //实际收款 int  receivable
    //开票日期 date billdate
    //合同日期date  contractdate
    //收款日期date  receivedate
    String hql = "select * from recodes where bill>=0 and receivable>=0 and receivable<bill order by billdate asc,contractdate asc,receivedate desc";
    楼主试一下!
      

  2.   

    1、开票金额>0 实际收款 = 0或是实际收款<开票金额  2、开票金额=0 实际收款 = 0  3、开票金额>0 实际收款 >0   什么意思?没看明白!是在这几个条件下进行排序吗?
      

  3.   


    就是就是我取出的数据,满足条件1的数据排在最上面,满足条件2 的其次,然后条件3满足的排在最后面,类似(order by 条件1,条件2,条件3)