日期:2014-05-17  浏览次数:20623 次

hql的排序问题
现有一张 收款纪录表(开票金额,实际收款,开票日期,合同结束日期,收款日期),
   
要对记录按下面的条件进行排序
 
  1、开票金额>0 实际收款 = 0或是实际收款<开票金额

  2、开票金额=0 实际收款 = 0

  3、开票金额>0 实际收款 >0  


然后再 开票日期升序 合同结束日期升序 收款日期 降序



怎么做怎么做怎么做??????????????

------解决方案--------------------
Java code


//开票金额 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";

------解决方案--------------------
1、开票金额>0 实际收款 = 0或是实际收款<开票金额

2、开票金额=0 实际收款 = 0

3、开票金额>0 实际收款 >0

什么意思?没看明白!是在这几个条件下进行排序吗?