如何解决JOOQ delete with join
如何编写 JOOQ 删除查询以连接 with
子句中的字段?可能吗?
我有一个可用的 sql 查询,但我不知道如何将其转换为 JOOQ。
这是我的查询:
with "temp" as (
select field1 as field1
from "table"
join ("table2")
on (table.field1 = table2.field2)
)
delete from table using temp
where table.field1 = temp.field1;
我试过了:
transactionDSLContext.with("temp")
dsl.as(
select(TABLE.FIELD1.as("field1"))
.from(TABLE)
.join(TABLE2)
.on(TABLE.FIELD1.eq(TABLE2.FIELD2))
)
.delete(TABLE)
.where(TABLE.FIELD1.eq((Field<String>) temp.field("field1"))
.execute();
但我得到:
ERROR: missing FROM-clause entry for table "temp"
解决方法
您忘记了 using
子句:
.delete(TABLE).using(temp)
我假设您有一个局部变量 temp
,您在其中分配了 CommonTableExpression
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。