【发布时间】:2020-06-12 12:02:56
【问题描述】:
我正在尝试使用 task.task_Template_id.eq(task_template.id) 的任务表上的内部联接查询我的 task_template 表,其中 task_Template.id.in(1,4)。因此,我想返回 id 为 1 或 4 的所有模板行,以及该模板的任务(如果存在)。
我的数据库中有两个模板,其中一个任务的 task_template_id 为 1。
所以我试图返回两个模板,其中一个任务为空,另一个填充。
但是我的查询似乎是在进行内部联接并且只返回一个结果?
var query =
dsl.select(TASK_TEMPLATE.fields())
.select(TASK.fields())
.from(TASK_TEMPLATE)
.leftJoin(TASK)
.on(TASK_TEMPLATE.ID.eq(TASK.TASK_TEMPLATE_ID))
.where(TASK_TEMPLATE.TENANT.eq(TenantContext.getCurrentTenant()))
.and(TASK_TEMPLATE.ID.in(rootTemplateIds))
.and(TASK.ENTITY_NAME.eq(entityName))
.and(TASK.ENTITY_ID.eq(entityId))
.and(TASK.DELETED.eq(Boolean.FALSE))
.orderBy(TASK.ORDER.asc().nullsLast());
【问题讨论】: