0

我用的是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')
  )

分组汇总(天);

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: '无效的列索引

谁能帮我?

4

1 回答 1

1

尝试给字段和表起别名:

  SELECT
  NVL(DAY, 'TOTAL') DAY
  , SUM(A) SUMA, SUM(B) SUMB, SUM(C) SUMC --fields
  FROM
  (
  ) T --table
于 2013-07-12T04:03:20.247 回答