首页 > 解决方案 > 如何插入计算查询?

问题描述

数据库表表报表

 public List<User>usryearlyreport(int uid){
     List<User> userAll = new ArrayList<User>();
    User user;
  try{
      Statement myStatement = connection.createStatement();
      String query = "SELECT competency.comp_name as compname,sum(answer.ass_ans/((select count(*)from question wh)*4))*100 as assmarks, \n "
              + "sum(answer.eval_ans/((select count(*)from question where comp_id ='57')*4))*100 as evamarks FROM `answer` \n" +
                        "join taketest on taketest.testid=answer.testid\n" +
                        "join question on question.ques_id=answer.quesid \n" +
                        "join competency on competency.comp_id=question.comp_id\n" +
                        "where taketest.userid =" +uid+"\n"+
                        "group by competency.comp_id";
      ResultSet myRs = myStatement.executeQuery(query);
        while (myRs.next()) {
            user = new User();
             user.setCompname(myRs.getString("compname"));
             user.setAssmarks(myRs.getInt("assmarks"));
             user.setEvamarks(myRs.getInt("evamarks"));
            userAll.add(user);

        }
  }catch (Exception e) {
        System.out.println("Exception is ;" + e);
    }
   return userAll;   
}
  

我附上了一个数据库表格图像和表格报告图像。我需要获取 ass_marks 和 eva_marks。在第一个查询中,我从 where comp_id = '57' 的问题中得到了 SELECT ()。此查询在数据库中运行良好。我需要知道如何在没有“57”的情况下放置查询。我尝试使用“SELECT ( ) count from question where comp_id =?” 但它没有用。我应该如何放置查询以使其正常工作。

标签: jsp

解决方案


推荐阅读