Java 如何在Jooq中使用SelfJoin?

Java 如何在Jooq中使用SelfJoin?,java,sql,jooq,Java,Sql,Jooq,我们可以在JOOQ中使用SelfJoin吗 选择计数(1)计数付款 来自PaymentDetail APD1、PaymentDetail APD2、PaymentAP 其中APD1.PaymentNumber=123 和APD1.BillNumber>0 和APD2.BillNumber=APD1.BillNumber 和APD2.PaymentNumber APD1.PaymentNumber 和AP.PaymentNumber=APD2.PaymentNumber 如果是,我们如何在上面的

我们可以在JOOQ中使用SelfJoin吗

选择计数(1)计数付款
来自PaymentDetail APD1、PaymentDetail APD2、PaymentAP
其中APD1.PaymentNumber=123
和APD1.BillNumber>0
和APD2.BillNumber=APD1.BillNumber
和APD2.PaymentNumber APD1.PaymentNumber
和AP.PaymentNumber=APD2.PaymentNumber
如果是,我们如何在上面的查询中使用它?

可能会给你一些线索

基本上,只需为表指定别名:

PaymentDetail APD1=PaymentDetail.as(“APD1”);
PaymentDetail APD2=PaymentDetail.as(“APD2”);
应付账款=应付账款(“应付账款”);
DSL.使用(配置)
.选择(计数(1).作为(“计数付款”))
.从(APD1、APD2、AP)
.式中(APD1.付款编号,等式(123))
.及(APD1.BillNumber.gt(0))
.和(APD2.账单编号.等式(APD1.账单编号))
.和(APD2.付款编号.ne(APD1.付款编号))
.和(AP.PaymentNumber.eq(APD2.PaymentNumber))