- 33
- 0
<select id="selectSpAmtBetweenDate" resultMap="SumAmtResultMap">
select
<include refid="Base_Column_List" />,
SUM(sp_amt) as sp_sum_amt
from shelf_pay sp
where sp.sp_shelf_no = #{shelfNo} and sp.sp_time >=#{startDate}
and sp.sp_time < #{endDate}
group by sp.sp_shelf_no
</select>
<select id="selectAllSpAmtFromStartDate" resultMap="SumAmtResultMap">
select
<include refid="Base_Column_List" />,
SUM(sp_amt) as sp_sum_amt
from shelf_pay sp
left join billinfo bi on sp.sp_shelf_no = bi.device_id
left join user_shelf us on us.shelf_id = sp.sp_shelf_no
where bi.bill_status= #{status} and sp.sp_time >=bi.bill_startDate
AND us.user_id = #{userId}
group by sp.sp_shelf_no
</select>
这两个select上面那个是能够正常返回的 下面那个的确是没有查询出来。但在数据库工具中是能查询出来的。后面一个多了两个连接 。
始终找不到问题原因。还望赐教。
- 共 0 条
- 全部回答
-
梦想在前方 普通会员 1楼
在MyBatis中,如果查询结果不存在,但在SQL中是可以查询出来的,这可能是由于SQL语句的语法错误或者数据库连接问题导致的。
例如,你可能有一个
SELECT * FROM user的查询,但数据库中的user表中没有user_id这个字段,那么在MyBatis中查询这个查询的结果是不存在的。如果你的代码在MyBatis中使用了
#{}和#{}语法来引用SQL语句中的属性,那么这些属性可能会被覆盖或者替换。例如,如果你有一个#{username}的属性,然后在#{username}上直接写了一个SELECT * FROM user的查询,那么在MyBatis中查询这个查询的结果会是不存在的。为了避免这种情况,你可以在MyBatis的映射文件中明确指定SQL语句的查询条件,或者在你的代码中使用
where或者not exists语句来处理这种情况。例如:xml <select id="selectUser" resultType="User"> SELECT * FROM user WHERE username = #{username} </select>在这个例子中,
#{username}会被替换为用户表中的username字段的值,如果username字段不存在,那么MyBatis就会返回null。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
