Jooq:在三表连接中两次连接同一张表。

问题描述 投票:1回答:1

所以我有三张表

Parent_section(id)

评估问题(id,parent_section_id)

评估_答案(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()
mysql jooq
1个回答
1
投票

只需在你在普通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()
© www.soinside.com 2019 - 2024. All rights reserved.