执行查询语句,因为网页要分页,所以在外面嵌套了一层分页,里面一层查询的数据是根据id,进行排序的,结果一查询,查出来的大部分数据为空,但是id确是对的。只要把排序字段不是id或者嵌套少掉外面一层分页,数据就能出来。
select rownum RN, tmp2.*
from (
select *
from (select *
from (select *
from SS_MODEL_WSUPPLY_BENEFIT t
where isdel = 0
and id in (select id
from ss_model_wsupply_benefit
where pid = 0)) tb
where 1 = 1 order by id desc
) tmp
where rownum <= 20) tmp2
执行结果:
正确的结果如下:
网络大神求解,我看到的时候是一脸懵的,因为这个SQL语句是后台生成的,之前很多都是有效的,还是第一次遇到这种问题

数据库查询语句,查询出来数据缺失
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- mingyufang 2017-09-23 13:39关注
select rownum RN, tmp.*
from (select *
from SS_MODEL_WSUPPLY_BENEFIT t, ss_model_wsupply_benefit s
where t.isdel = 0
and s.pid = 0
and t.id = s.id
order by t.id desc) tmp where rownum <= 20试试这个,用那么多子查询干嘛?
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报