【问题标题】:In java, how to add result sets under one big parent resultset在java中,如何在一个大的父结果集下添加结果集
【发布时间】:2014-07-11 12:25:17
【问题描述】:

在我的 java 代码中,我有多个针对数据库运行的 select 语句。每个选择返回一个不同的结果集。现在我想将所有结果集放在一个结果集下并作为返回对象传递。

我希望结果集是传递的最终结果的子级。我怎样才能做到这一点。我是 Java 新手。请帮忙。

除了select的结果集,还有一些局部变量的值需要传回。

【问题讨论】:

  • 如果返回结果集列表是一个好的解决方案吗?
  • 地图可能会更好。虽然将结果集映射到对象然后创建您需要的任何结构是不可行的吗?
  • 结果集有何不同?不同的列结构或列名?然后,您将不会有太多乐趣将它们作为一个结果集进行处理。如果结构相同,为什么不在数据库级别使用UNION
  • 不同列的结果集不同。

标签: java


【解决方案1】:

这对我来说听起来像是joining。如果您不修改数据,则可以在查询中使用join,并在返回值后处理每一行。

如果由于某种原因无法选择连接,那么您可以创建一个tree 并在其适当位置添加节点以实现您想要的层次结构。

我无法为您提供更多信息,因为唯一指定的技术是 Java,我不知道您使用的是什么数据库服务器。

【讨论】:

  • 我正在使用 oracle 数据库。我不能使用连接,因为来自不同选择的结果集返回不同的列和数据,它们必须按原样返回。您能否提供有关您提到的树选项的详细信息。
  • @User3,您正在将连接与联合混合。阅读有关 Oracle 联接的信息:docs.oracle.com/cd/B28359_01/server.111/b28286/queries006.htm。至于树。如果我没记错的话,你有一个语义层次结构,所以如果有表 T1 和 T2,那么 T2 应该是 T1 的子级,当且仅当 T1 可以有更多 T2 元素并且两者之间没有任何内容。例如,假设您有国家、县和城镇之类的表。一个国家可以有几个县,一个县可以有几个镇。
  • 您可以创建一棵树,其中抽象节点为根,国家为根的子节点。每个县都将是其国家的孩子,每个城市将是其县的孩子。但我再说一遍,我相信你应该在你的选择中有几个连接,以便向数据库服务器发出一个请求,当你得到结果集时,你应该构建树数据结构并返回它。如果我是你,我会这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 2022-01-04
  • 1970-01-01
  • 2023-04-05
  • 2019-04-02
相关资源
最近更新 更多