我写了这样的一段查询语句:
select nvl(MANAGE_PRIZE, 0),nvl(PORT_SUBSIDY, 0),nvl(SUBSIDY_ELSE, 0),
(nvl(MANAGE_PRIZE, 0) + nvl(PORT_SUBSIDY, 0) + nvl(SUBSIDY_ELSE, 0))
from pfqs_subsidy ps
where ps.userid = 'lvj' and ps.YM = '201011'
然后action里通过list获取ibatis里查询数据,所有的部署工作都是好的,跳转到页面时却没有任何数据显示,我仔细检查迭代里的字段名称,
没有任何错误,可为什么就是不显示查询结果呢?按照数据库里的显示,即使没有数据也应该显示0的。
后来看数据库里的查询表格突然意识到错误原因了,修改后的代码如下:
select nvl(MANAGE_PRIZE, 0)MANAGE_PRIZE,
nvl(PORT_SUBSIDY, 0)PORT_SUBSIDY,
nvl(SUBSIDY_ELSE, 0)SUBSIDY_ELSE,
(nvl(MANAGE_PRIZE, 0) + nvl(PORT_SUBSIDY, 0) + nvl(SUBSIDY_ELSE, 0)) TOTAL
from pfqs_subsidy ps where ps.userid = 'lvj' and ps.YM = '201011'
总结起来,使用nvl或者查询里面套查询时需要别名以方便管理