我使用ibatis。以下是我的询问。
<select id="mnote" parameterClass="Map" resultMap="ContentStatismnote">
SELECT
NVL(DAY, 'TOTAL') DAY
, SUM(A), SUM(B), SUM(C)
FROM
(
SELECT Z.*
FROM TABLE Z
where b.day between to_char(to_date('#startDt#'), 'yyyy.mm.dd') and to_char(to_date('#endDt#'), 'yyyy.mm.dd')
)
GROUP BY ROLLUP(DAY);
JSP页面是这样的:
<colgroup>
<col style="width:25%;"/>
<col style="width:25%;"/>
<col style="width:25%;"/>
<col style="width:25%;"/>
</colgroup>
<thead>
<tr>
<th>DAY</th>
<th>A</th>
<th>B</th>
<th>C </th>
</tr>
</thead>
<tbody>
<br><c:forEach var="contentStatis" items="${resultCount}" >
<tr>
<td align="center"><c:out value="${contentStatis.day}" /></td>
<td align="center"><c:out value="${contentStatis.studentPkg}" /></td>
<td align="center"><c:out value="${contentStatis.shared}" /></td>
<td align="center"><c:out value="${contentStatis.nonShared}" /></td>
<tr>
</c:forEach>
</tbody>
当我在TOAD中单独运行查询时,它运行正常并显示数据。 但是,当我想在JSP中显示数据时,它会显示我
---检查'startDt'属性的参数映射 ---原因:java.sql.SQLException:'列索引无效
任何人都可以帮助我吗?
答案 0 :(得分:1)
尝试别名字段和表格:
SELECT
NVL(DAY, 'TOTAL') DAY
, SUM(A) SUMA, SUM(B) SUMB, SUM(C) SUMC --fields
FROM
(
) T --table