我正在尝试在某个系统中执行分析。系统应该通过查询数据库中的两个或多个表来执行分析,然后显示按字段分组的总结果。
这是一个基于 Java 的系统,使用 SQL 作为其数据库。我试图使用联盟,联合所有,但它没有给出令人满意的结果。
下表1
id itemID ItemName entryTime
1 GAR001 PhoneAG ""
2 GAR004 PCLG ""
3 GAR009 ELECT ""
...
下表2
id itemID ItemName entryTime issuedate
1 GAR001 PhoneAG "" ""
2 GAR001 PhoneAG "" ""
3 GAR009 ELECT "" ""
...
我尝试使用以下
public ObservableList<PieChart.Data> getItemAnalysis(){
ObservableList<PieChart.Data> data = FXCollections.observableArrayList();
String st1 = "SELECT itemID, COUNT(itemID) FROM table1 GROUP BY itemID UNION ALL SELECT itemID, COUNT(itemID) FROM table2 GROUP BY itemID";
System.out.println(st1);
ResultSet rs = execQuery(st1);
try{
if(rs.next()){
String itemId = rs.getString("itemID");
int count = rs.getInt(2);
data.add(new PieChart.Data(itemId + "(" + count + ")", count));
}
} catch (SQLException ex) {
Logger.getLogger(DatabaseHandler.class.getName()).log(Level.SEVERE, null, ex);
}
return data;
}
结果返回时。它返回
GAR001(1),
GAR004(1),
GAR009(1),
GAR001(2),
GAR009(1).
我期望结果返回是
GAR001(3)
GAR004(1)
GAR009(2)
冉冉说
绝地无双
郎朗坤
相关分类