2016-12-25 47 views
-1

我有4个ResultSet获取4个不同的查询。 我想创建一个JSON对象,这些不同的ResultSet合并的属性按每个具有Datetime类型的记录的参数排序。从数据中提取不同ResultSets的结果

假设这种情况:

ResultSet rs1 = from query ("select a, date from table order by date"); 
ResultSet rs2 = from query ("select b, c, date from table1 order by date"); 
ResultSet rs3 = from query ("select d, e, f, date from table2 order by date"); 
ResultSet rs4 = from query ("select g, h, i, l, date from table3 order by date"); 

正如你可以在上面看到,该结果集已提取型动物领域,不同数量的提取领域的etc..the唯一的共同信息是场“数据”存在于所有ResultSed都是最后一个字段(查询的最后一个索引)。

然后,我会获得这样的JSON: 注意,有轻微索引的对象是最近的,与去年指数的对象是最古老的考虑“数据”字段

{"numberObjects":5, 
a1:"valuea1", 
data1:"valueDataa1", 
d2:"valued2", 
e2:"valuee2", 
f2:"valuef2", 
...} 

有一个如何做这件事?我知道的唯一程序是非常非常费力的,所以我问你,如果oyu知道更快更容易的方式来驱动这个事情..感谢所有。

+0

这并不完全清楚。也许你想在JSON中给出结果集中的数据和所需数据的一个小例子?如果规范清楚,我相信它可以完成。 –

+0

你试过自​​己吗?做任何研究? –

+0

如果我正确理解您只需要每个结果集中最早的和/或最新的一行,我们是否可以修改SQL以仅返回所需的行? –

回答

1

您可以使用复合查询一次对所有内容进行排序;这要求组件查询返回相同数量的列:

SELECT a, NULL, NULL, NULL, date FROM tab1 
UNION ALL 
SELECT b, c, d, e, date FROM tab2 
UNION ALL 
SELECT ... 
ORDER BY date; 
相关问题