【发布时间】:2013-05-24 09:39:08
【问题描述】:
我在 Java 中有一个长查询,它被放入结果集中并由 executeQuery(string) 方法执行。现在我需要遍历这个结果集,查询结果集中的每条记录(get_linked_OrgTickets 方法包含这个查询),并且只输出那些从 ResultSet 中返回 Vector linkedToTicket 内容的行。我可以遍历这个 ResultSet 并将所述行复制到另一个结果集中,或者删除不从 ResultSet 输出的行吗?还有其他方法可以解决这个问题吗?
if (linked == J.LINKED_TO_ORG){
while (rs.next()){
Vector linkedToTicket = Ticket.get_linked_OrgTickets(con, rs.getInt(Ticket.FLD_ID));
if (linkedToTicket != null)
{
// if there are linked tickets in the result set, output them only
}
}
}
*编辑:* 这些子查询不能与主查询集成。唯一的方法是在没有这个的情况下执行一次主查询,第二次包含它,这太低效了。 ResultSet 类似乎不包含在不影响数据库的情况下删除行或“手动”构建 ResultSet 的方法。
请帮忙!
【问题讨论】:
-
那么,这个 sn-p 失败在哪里?你试过什么?
-
这将取决于
get_linked_OrgTickets的逻辑和您的查询。您的“过滤器”可能是第一个查询的一部分。 -
它不能成为第一个查询的一部分,因为我需要获取由多个条件返回的票证的 ID,并检查这些 ID 是否与其他 ID 相关联。