【发布时间】:2021-04-14 16:40:17
【问题描述】:
我想使用Groovy sql 创建一个简单的查询,并将一个大小未知的 id 列表传递给它。 例子: 这很好用
List<Long> userIds = sql.rows('SELECT id FROM users').collect { it.id }
但是我怎样才能传递 userIds 并找到学校
List<Long> schoolIds = sql.rows('SELECT id FROM school WHERE id IN (?)', userIds).collect { it.id }
这不起作用。
【问题讨论】:
-
这可能取决于您的数据库。例如,我认为 Postgres 支持
ANY(?)。您需要支持哪些数据库方言? -
你也可以使用(有积极的副作用)只有一个查询:
SELECT id FROM school WHERE id IN (SELECT id FROM users)