【发布时间】:2015-03-17 16:34:35
【问题描述】:
在解释任何事情之前,我将把我所拥有的留在这里(一个摘要):
rowsTable1(它有一个 SELECT 的结果,它包含 X 行和 Y 列)
rowsTable2(它有一个 SELECT 的结果,它包含 W 行和 Z 列)
我想要的是插入每个 rowsTable1 行,rowsTable2 中的一行,但我需要通过我在 rowsTable1 中的 ID 过滤 rowsTable2。
例如,在 rowsTable1 中,我有一个名为 superID 的元素和另一个名为 ultraID 的元素,而 rowsTable2 也有这些元素,这就是我需要合并两行的内容。
我的问题是,如何过滤 rowsTable2 以仅获取我想要的行?
rowsTable1.eachWithIndex{ rowT1, i ->
rowT1 << rowT2.firstRow([rowT1.superID],[rowT1.ultraID])
}
像这样?
谢谢!
【问题讨论】:
-
您可能必须创建一个复合行,因为从查询返回的结果 Row 对象可能是不可变的(最终的)。也许“def ret = rowsTable1.collect { rowT1 -> new HashMap().addAll( rowT1 ).addAll( rowsTable2.find { it.superID == rowT1.superID && it.ultraID == rowT1.ultraID } ) }”?
标签: mysql arrays list join groovy