Jooq: объединение одной и той же таблицы дважды при объединении трех таблиц - PullRequest
1 голос
/ 28 мая 2020

Итак, у меня есть три таблицы

Parent_section (id)

Assessment_Question (id, parent_section_id)

Assessment_Answer (id, Assessment_question_id)

Я пытается выполнить внутреннее соединение parent_section и Assessment_qestion, а затем - левое соединение Assessment_question и Assessment_Answer

До сих пор присоединяюсь к parent_Section и Assessment_question. У меня есть это, не знаю, как это сделать для третьей таблицы?

    var queryResult= dsl.select()
    .from(PARENT_SECTION)
    .join(ASSESSMENT_QUESTION)
    .on(PARENT_SECTION.ID.eq(ASSESSMENT_QUESTION.PARENT_SECTION_ID))
    .where(PARENT_SECTION.GATE_ID.eq(gateId))
    .fetch()

1 Ответ

1 голос
/ 28 мая 2020

Просто добавьте еще одно соединение, где вы бы добавили другое соединение в обычном формате SQL:

var queryResult = dsl.select()
    .from(PARENT_SECTION)
    .join(ASSESSMENT_QUESTION)
    .on(PARENT_SECTION.ID.eq(ASSESSMENT_QUESTION.PARENT_SECTION_ID))
    .leftJoin(ASSESSMENT_ANSWER)
    .on(ASSESSMENT_QUESTION.ID.eq(ASSESSMENT_ANSWER.ASSESSMENT_QUESTION_ID))
    .where(PARENT_SECTION.GATE_ID.eq(gateId))
    .fetch()
...