SqlCommand cmd = new SqlCommand("select v.name ,count(v.name) count from eqt_status es left join eqt_main_info m on es.uuid = m.uuid\n" +
"left join eqt_type tt on m.eqt_type_code = tt.id\n" +
"left join enum_value v on tt.eqt_type_value = v.value\n" +
"left join enum_type mt on v.enum_type_id = mt.id\n" +
"where mt.code = 'eqt_type' and es.eqt_mark =1\n" +
"group by v.name;");
JSONArray eCategory = adapter.query(cmd).toDataJSON();
JSONArray eqtStatusCount;
JSONArray result = new JSONArray();
for(int i = 0 ; i<eCategory.size();i++){
JSONObject jsonEqtName=new JSONObject((new LinkedHashMap()));
String eqtTypeName = eCategory.getJSONObject(i).getString("name");
String count = eCategory.getJSONObject(i).getString("count");
SqlCommand cmd1 = new SqlCommand("select es.transition_after ,count(es.transition_after) statusCount from eqt_status es left join eqt_main_info m on es.uuid = m.uuid\n" +
"left join eqt_type tt on m.eqt_type_code = tt.id\n" +
"left join enum_value v on tt.eqt_type_value = v.value\n" +
"left join enum_type mt on v.enum_type_id = mt.id\n" +
"where es.eqt_mark =1 and v.name = :eqtTypeName\n" +
"group by es.transition_after ")
.setParameter("eqtTypeName",eqtTypeName);
eqtStatusCount = adapter.query(cmd1).toDataJSON();
jsonEqtName.put("eqtTypeName",eqtTypeName);
jsonEqtName.put("count",count);
jsonEqtName.put("TCount",eqtStatusCount);
result.add(jsonEqtName);
结果: