2016-12-25 18 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;