値を HashMapに転送してから追加したいResultSet
ので、最初に次のコードを実行しました。
PreparedStatement pstmt=null;
ResultSet rs = null;
String query="SELECT record_id, SUM(ROUND(amtsourcedr, 2)) AS debit, SUM(ROUND(amtsourcecr, 2)) AS credit " +
"FROM adempiere.fact_acct " +
"GROUP BY record_id " +
"ORDER BY record_id ASC";
try
{
pstmt = DB.prepareStatement(query, null);
rs = pstmt.executeQuery();
while (rs.next())
{
int id = rs.getInt("record_id");
BigDecimal sourceDr = rs.getBigDecimal("debit");
BigDecimal sourceCr = rs.getBigDecimal("credit");
System.out.println(id);
System.out.println(sourceDr);
System.out.println(sourceCr);
MCUS_Exam exam = new MCUS_Exam(getCtx(), 0, null);
exam.setCUS_Record_ID(id);
exam.setCUS_AmtSourceDr(sourceDr);
exam.setCUS_AmtSourceCr(sourceCr);
exam.save();
}
ハッシュマップを使用してJavaを介してクエリで見つかった加算と丸めを行うことは可能ですか? はいの場合、どうすればそれを行うことができますか?
編集: GROUP BY は、実際には Java で複製するのに苦労しているものです。
以下は元の表です。
record_id amountdr amountcr
1000000 0 213.7544
1000000 0 270.00
1000000 483.7544 0
1000001 0 2250.6677
1000001 0 400.5050
1000001 0 12867.75
1000001 15518.9327 0
1000002 0 27000.6543
1000002 27000.6543 0
そして、私が与えたコードを実行すると、これが別のテーブルに追加されます:
record_id amountdr amountcr
1000000 483.75 483.75
1000001 15518.92 15518.93
1000002 27000.65 27000.65