Java 对从groovy sql.rows()返回的值创建联合或联接

Java 对从groovy sql.rows()返回的值创建联合或联接,java,sql,groovy,Java,Sql,Groovy,我使用Groovy的sql.rowsSPCallString函数调用一个存储过程,该存储过程根据参数返回一些行 我为3个不同的存储过程执行此操作 在groovy中有没有一种方法可以对这三个调用返回的行执行并集 我基本上想要这样的东西: 如果这三个调用中的每一个都是从sql.rows返回的行 ->"X","Y", "M" ->"X","Y", "P" ->"X","Y", "Q" 我想回去 ->"X","Y", "M,P,Q" 谢谢 我不确定是否理解您的问题,但您似乎希

我使用Groovy的sql.rowsSPCallString函数调用一个存储过程,该存储过程根据参数返回一些行

我为3个不同的存储过程执行此操作

在groovy中有没有一种方法可以对这三个调用返回的行执行并集

我基本上想要这样的东西:

如果这三个调用中的每一个都是从sql.rows返回的行

->"X","Y", "M"
->"X","Y", "P"
->"X","Y", "Q"
我想回去

->"X","Y", "M,P,Q"

谢谢

我不确定是否理解您的问题,但您似乎希望将每个proc返回的所有行添加到集合中,而不添加任何重复行。如果是这样,我想你可以用一套

Set<GroovyRowResult> rowResults = [] as Set
Sql sql = // instantiate using a Connection, DataSource, or whatever
List<String> spCallStrings = [] // add the SQL strings that calls each proc to this List

spCallStrings.each { spCallString ->

    rowResults.addAll(sql.rows(spCallString))
}

或者你想要[X,Y,M,P,Q]——这就是我所理解的三者的并集。这可能是可以接受的,尽管我正在为一个固定大小的表格式化它,所以如果是这样的话,我最终会连接M,P,Q列