我有一个场景,在这个场景中,我必须从表2中找到多个列的总和,并且在另一个表1的where子句中找到值。我编写了mysql查询,如下所示。我要把它写在约克上。
select (sum(t2.column1)+sum(t2.column2)+sum(t2.column3)) as total_amount from db.table1 t1, db.table2 t2 where t1.column1 = ‘value1’ and t1.column2 = t2.column4;
axr492tv1#
一般来说,所有功能都可以从 org.jooq.impl.DSL 所有运算符都可以从 org.jooq.Field 通过反映运算符发音方式的名称。在您的情况下,请使用:DSL.sum(Field) Field.plus(Field) 具体来说,假设此静态导入:
org.jooq.impl.DSL
org.jooq.Field
Field.plus(Field)
import static org.jooq.impl.DSL.*;
写:
Table1 t1 = TABLE1.as("t1"); Table2 t2 = TABLE2.as("t2"); ctx.select(sum(t2.COLUMN1).plus(sum(t2.COLUMN2)).plus(t2.COLUMN3)).as("total_amount")) .from(t1, t2) .where(t1.COLUMN1.eq("value1")) .and(t1.COLUMN2.eq(t2.COLUMN4)) .fetch();
1条答案
按热度按时间axr492tv1#
一般来说,所有功能都可以从
org.jooq.impl.DSL
所有运算符都可以从org.jooq.Field
通过反映运算符发音方式的名称。在您的情况下,请使用:DSL.sum(Field)
Field.plus(Field)
具体来说,假设此静态导入:写: