jsp를 이용해서 월별 지출 총액을 구하고 있습니다. 그런데 오라클 DB에서는 정상적으로
이용이 되는 것이 jsp 페이지를 타고 나니까 2가지 에러가 납니다.
1개는 Cost_amount 칼럼이름을 인식 못하는것.
이부분은 select 절에서 COST_AMOUNT라고 안쓰고 총액이 필요해서 SUM(COST_AMOUNT)
이렇게 하니까 SUM내장함수 안에 Cost_amount을 인식못하는 것 같습니다. 확실하지는 않...
그리고 2번째는 GROUP BY 자체를 인식 못하는 것 같습니다.
계속 ORA-00979: not a GROUP BY expression 라는 에러가 납니다.
// 리스트 월별 지출 총액 검색
public List<CostBean> Stats_Spend2(String session_employee, String year) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
String sql = " SELECT COST_AMOUNT ,TO_CHAR(cost_date,'YYYY-MM') FROM COST "
+ " WHERE ID_EMPLOYEE=? AND ID_TRANSACTION='2' "
+ " AND TO_CHAR(cost_date,'YYYY') like '" + year + "' GROUP BY TO_CHAR(COST_DATE,'YYYY-MM')";
conn = ds.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, session_employee);
List<CostBean> spend_list = new ArrayList<CostBean>();
rs = pstmt.executeQuery();
while (rs.next()) {
CostBean bean = new CostBean();
bean.setCost_amount(rs.getInt("cost_amount"));
bean.setCost_date(rs.getString("cost_date").substring(0, 10));
spend_list.add(bean);
}
return spend_list;
} catch (Exception e) {
e.printStackTrace();
} finally {
close(rs);
close(conn);
close(pstmt);
}
return null;
}
만약 GROUP BY가 안먹힌다면 어떤 방식으로 받아온 년도에 해당하는 총액을
월별로 뿌려줄수 있을까요? 01월,02월....