kashijian 2017-09-23 07:55 采纳率: 50%
浏览 1966
已采纳

数据库查询语句,查询出来数据缺失

执行查询语句,因为网页要分页,所以在外面嵌套了一层分页,里面一层查询的数据是根据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语句是后台生成的,之前很多都是有效的,还是第一次遇到这种问题

  • 写回答

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

                试试这个,用那么多子查询干嘛?
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?