2013-10-31 41 views
0

这里是我的select语句JOOQ:如何在复杂的Select语句中使用别名?

SelectQuery<Record> selectQueryPayment = transaction.selectQuery(); 
    selectQueryPayment.addSelect(AccountPayment.ACCOUNT_PAYMENT.PAYMENT_NUMBER,AccountPayment.ACCOUNT_PAYMENT.PAYMENT_AMOUNT,AccountPayment.ACCOUNT_PAYMENT.PAYMENT_TYPE, 
        AccountPayment.ACCOUNT_PAYMENT.PAYMENT_DATE,AccountPayment.ACCOUNT_PAYMENT.PAYMENT_AMOUNT,AccountPayment.ACCOUNT_PAYMENT.PAYMENT_AMOUNT.subtract(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_REFUNDED.add(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_APPLIED))); 

在这里你可以看到一个复杂的一些计算

ACCOUNT_PAYMENT.PAYMENT_AMOUNT.subtract(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_REFUNDED.add(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_APPLIED)) 

如何为这个创建别名选择?然后从中获取数据?

回答

1

好我得到了我们可以利用这个

AccountPayment.ACCOUNT_PAYMENT.PAYMENT_AMOUNT.subtract(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_REFUNDED.add(AccountPayment.ACCOUNT_PAYMENT.AMOUNT_APPLIED)).as("OverPayment") 

我们必须添加as("Alias Name")并获得价值回,我们必须使用

 Result<Record> resultPayment = selectQueryPayment.fetch(); 
      for(Record record : resultPayment){ 
      feeAmount = resultPayment.getValues("OverPayment"); 

}

解决方案