按数据顺序提取不同ResultSet的结果

时间:2016-12-25 23:31:46

标签: java sql json sqlite

我有4个不同的查询获得4个ResultSet。 我将创建一个JSON对象,其中包含这些不同的属性ResultSet由每个具有Datetime类型的记录的参数排序合并。

假设这种情况:

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");

正如您在上面所看到的,ResultSet有不同的提取字段,不同数量的提取字段等。唯一的常见信息是字段" data"在所有结果中都存在,作为最后的场(最后的查询索引)。

然后我会获得这样的JSON: 请注意,具有次要索引的对象是最新的,具有最后索引的对象是最老的考虑"数据"字段

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

有办法做这件事吗?我知道的唯一一个程序非常非常简单,所以我问你oyu是否知道更快更方便地启动这个东西..谢谢所有人。

1 个答案:

答案 0 :(得分: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;