0

日付が同じ列の合計を取得したい。

日付料金
2012年3月8日200 2012年3月8日
400 2012年4月8日
300
2012年4月8日100

<%stat=con.createStatement();
rs=stat.executeQuery("select * from pat.dbo.PHPL"); 
while(rs.next())
{
date=rs.getString("Date");
charges=rs.getString("Charges");%>
<table>

<tr>
<td><%=date%></td>
<td><%=charges%></td>
<%}%>
</tr></table>

この結果が欲しい:

日付料金2012年3月8日
600 2012年4月8日
400

SQLクエリにないjspでこれが必要です。データベースで料金のデータ型を文字列として設定したため。そのため、合計はクエリで使用できませんでした。ありがとう。

4

2 に答える 2

0

JoséEsteves-Pereiraの変換による解決策をお勧めしますが、次のutnestedコードを試すことができます。

<%stat=con.createStatement();
rs=stat.executeQuery("select * from pat.dbo.PHPL");
actDate
while(rs.next())
{
  date = rs.getString("Date");
  if (actDate != date)
  {
    actDate = date;
    charges = rs.getString("Charges");
  }
  else
  {
    charges += rs.getString("Charges");
  }
%>
<table>

<tr>
<td><%=actDate %></td>
<td><%=charges%></td>
<%}%>
</tr>
</table>
于 2012-08-03T07:59:53.077 に答える
0

使用しているdbmsに関する情報は提供していませんが、元のクエリでは、Microsoftのsqlserverを使用していると想定しています。

だから、あなたは書くことができます:

pat.dbo.PHPL group by dateからdate、sum(cast(charges as float))を選択します。このリンクを参照してください:

http://msdn.microsoft.com/en-us/library/aa226054%28v=sql.80%29

于 2012-08-03T07:46:35.417 に答える