Я хочу, чтобы сгенерировать CASE WHEN
суб запрос следующим образом:недетерминировано число случая, когда положение в JOOQ
CASE DEVICE.ID WHEN 12 THEN 'some-string-1'
WHEN 34 THEN 'some-string-2'
END
Но число WHEN
статей не является детерминированным и будет доступны во время выполнения. У меня есть Map<Integer, String>
, который будет состоять из WHEN
, а соответствующее значение - THEN
. Что мне нужно что-то вроде этого:
CaseValueStep<Integer> caseValueStep = DSL.decode().value(DEVICE.ID);
for (Integer deviceId : devices.keySet()) {
caseValueStep = caseValueStep.when(deviceId, devices.get(deviceId));
}
Но проблема после первого when()
результат стал CaseWhenStep
. Есть ли какое-нибудь решение?