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()
我目前正在尝试拼凑一种从一个 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()