oracle数据库同时实现联表查询和分页查询(未明确定义列)

    科技2022-07-10  125

    ps:只是记录新手小白的脱坑之路,大佬勿喷 今天在做前端数据查询的时候,在实现联表查询的同时进行分页查询遇到了令人头秃的问题,分页查询的sql语句是这样的 select * from (select rownum rn,p.* from product p) where rn>0 and rownum<=5 按照每页五条查询product表的第一页 然后联表查询的sql语句是这样的 select p.,pt. from product p left outer join producttype pt on p.ptid=pt.ptid 根据ptid联表查询 然后我毫无顾虑的把两个查询合并到了一起 select * from (select rownum rn,d.,p. from product d left outer join producttype p on d.ptid=p.ptid) where rn>0 and rownum<=5 果不其然,报错了 未明确定义列 我各个博客上找解决方法可还是找不到 转载:这里是我找到了一个很详细的联表查询的例子https://blog.csdn.net/weixin_43888267/article/details/84894441 但还是报了校内共同的错误 可能大佬们都不会犯我这样的低级错误 最后令人头秃的发现报错的原因是因为 联表查询product和producttype两个表中都有ptid也就是查询条件这一列 然后分页查询的时候无法辨别查询的是哪一列而报的错 解决方法就是 select * from (select rownum rn,d.*,p.ptname from product d left outer join producttype p on d.ptid=p.ptid) where rn>0 and rownum<=5 删掉重复的那一列ptid,然后就能实现联表查询和分页查询了 我在找错的同时发现了几篇比较好的多表查询和联表查询的文章 记录一下同时分享给大家https://www.cnblogs.com/songhengchao/p/9034710.html Oracle中分页查询和联表查询https://zhidao.baidu.com/question/322610397.html 百度知道里的这个问题应该和我遇到的是同一个问题,多表查询结果出现了重复列https://www.cnblogs.com/rwxwsblog/p/6287830.html 这个是oracle多表查询出现重复列的解决方法

     

    转自: https://blog.csdn.net/abckingaa/article/details/81176524

    Processed: 0.021, SQL: 8