首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jOOQ中使用UNNEST

在jOOQ中使用UNNEST
EN

Stack Overflow用户
提问于 2016-02-22 13:37:14
回答 1查看 1.7K关注 0票数 2

我使用的是PostgreSQL 9.4、SpringBoot1.3.2和jOOQ 3.7。我想"jOOQify“以下查询

代码语言:javascript
复制
SELECT id FROM users WHERE username IN (SELECT * FROM UNNEST(?))

这样我就可以通过传递一个列表或数组(在本例中是一个JdbcTemplate )来使用Spring的List<String>来运行它。我试过了

代码语言:javascript
复制
DSLContext.select(
    USERS.ID
)
.from(
    USERS
)
.where(
    USERS.USERNAME.in(...)
)

但我不知道该在...里放什么。我试过

代码语言:javascript
复制
DSLContext.select(field("*")).from(unnest(myList))

但不幸的是,编译器不喜欢这样。有什么简单的方法可以做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-22 17:25:09

编译器不喜欢您的尝试,因为USERS.USERNAME是一个Field<String>,因此in()方法需要一个Select<? extends Record1<String>>

您可以这样修复它:

代码语言:javascript
复制
select(field("*", String.class)).from(unnest(myList))

或者,也许更好一点:

代码语言:javascript
复制
select(field(name("v"), String.class)).from(unnest(myList).as("t", "v"))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35555119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档