Groovy SQL - 将一个查询的结果存储在一个列表中,以便在另一个查询中迭代

Groovy SQL - Storing the results of one query in a list to be iterated over in another query

我目前正在尝试拼凑一种从一个 mysql 查询中获取结果的方法,将它们添加到列表中,然后使用 Groovy 在另一个查询中迭代这些结果。 我的代码如下:

String query = 'SELECT * FROM fields WHERE name = "ticket_status"';
def queryResults = []
Db.eachRow(query) {
    queryResults << it
}

def statuses = it.queryResults

String query2 = "SELECT count(*) FROM ticket WHERE name = ${statuses.join(',')};"

我有点不确定从这里去哪里,这似乎不起作用,我不确定 ${statuses.join(',')},我需要用每个结果填充查询的这个特定位依次查询前一个查询。 我还需要列表项在它们周围加上引号,以便第二个查询工作,我不确定这是否会像这样发生。 任何建议将不胜感激。

我相信你需要做这样的事情:

String query2 = "SELECT count(*) FROM ticket WHERE name IN ( '${statuses.join("','")}' );".toString()