0

Not error]

NumberExpression<Integer> print = smfpHistory.appType.when("Print").then(1).otherwise(0);

error 1]

NumberExpression<Integer> print = smfpHistory.appType.when("Print").then(SQLExpressions.
select(smfpSizeHistory.simplexmono.sum())
.from(smfpSizeHistory)
.where(smfpSizeHistory.uuid.eq(smfpHistory.uuid))).otherwise(0);

error 2]

NumberExpression<Integer> printMonoSimplex = (NumberExpression<Integer>) smfpHistory.appType.when("Print").then(SQLExpressions.
            select(smfpSizeHistory.simplexmono.sum())
            .from(smfpSizeHistory)
            .where(smfpSizeHistory.uuid.eq(smfpHistory.uuid))
            ).otherwise(0);

Even if you cast to NumberExpression in Error 1 above, an error occurs.

How to return subquery as numberExpression in querydsl?

1 Answers1

0

You don't share the actual error, but I assume the provided code simply does not compile for your domain.

You can convert any Expression<? extends Number> in a NumberExpression by wrapping it inside Expressions.asNumber(expression).