美文网首页
Oracle数据库连接多个表参数化分页模糊多层查询的问题

Oracle数据库连接多个表参数化分页模糊多层查询的问题

作者: 我叫397 | 来源:发表于2020-07-03 09:22 被阅读0次

需求

1.前端有3个分别位于3个表的参数作为查询条件,随机组合
2.关联2个表
3.模糊查询
4.分页查询
5.排序

遇到的问题

楼主一开始的写法是,先查出A表(主)的结果再去关联B和C,然后在次外层写B和C的条件。这样写的结果是查询的时候正常不报错,但是没有任何结果,检查SQL后没有任何错误,多方百度无结果!


初始写法如红框内所示

换了一种写法

于是,抱着试一试的态度,改变SQL写法竟然发现查询可行,这种写法是:将所有与分页无关的where都放在最内层

/********** 部分代码如下(strWhere是查询条件组成的where语句) **********/
string SQL = "SELECT * FROM (SELECT D.ID,D.REALNAME,D.NAME ORGANIZATIONNAME,D.CERTIFICATEDATE,D.CERTIFICATETYPE,D.CERTIFICATERESULT,ROWNUM RN FROM \n" +
             "(SELECT A.*, B.REALNAME, C.NAME FROM CERTIFICATERECORD A \n" +
             "JOIN ACCOUNT B ON A.USERID = B.ID \n" +
             "JOIN ORGANIZATION C ON A.ORGANIZATIONID = C.ID \n" +
             ""+ strWhere +" ORDER BY A.INDATE DESC) D \n" +
             "WHERE ROWNUM <= :pn * :ps) WHERE RN > (: pn - 1) * :ps";
DataSet ds = new DataSet();
try
{
    connection.Open();
    OracleDataAdapter command = new OracleDataAdapter(SQL, connection);
    if (zhenShiXM.Length > 0)
    {
        command.SelectCommand.Parameters.Add(":zhenShiXM", zhenShiXM);
    }

分析原因

楼主想了很久也没弄明白这种写法引发的问题到底是怎么回事(也欢迎各位小伙伴们指正),不过在当前需求下where放于最内层的写法确实可行

总结

Oracle数据库连接多个表参数化分页模糊多层查询时,除分页以外的where条件要放在最内层,不要先查出主表的结果再去关联其他表,然后在次外层写其他表的查询条件

相关文章

  • Oracle数据库连接多个表参数化分页模糊多层查询的问题

    需求 1.前端有3个分别位于3个表的参数作为查询条件,随机组合2.关联2个表3.模糊查询4.分页查询5.排序 遇到...

  • MySQL - 基本知识4: 查询

    查询-比较运算符 逻辑运算, 模糊查询 范围, 判断空 聚合函数 分组 排序 分页 存储关系 建立关系表 连接查询

  • 数据库查询语句

    条件与逻辑查询 模糊查询 范围查询 排序 聚合函数 分组 连接查询 分页 子查询

  • mysql的用法3

    -- ==============连接查询==================-- 1.连接查询: 同时查询多个表...

  • 数据库面试

    数据库方向 oracle 1.oracle分页是如何实现的 Oracle中的表,除了我们建表时设计的各个字段,...

  • OLEDB连接oracle,参数化查询

    最近在用.net写一个连接oracle数据库的程序,由于oracle的字符集是us7ascii,在用oracle....

  • MySQL的连接查询

    连接查询 含义 连接查询又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 笛卡尔乘积现象 当查询多个表时...

  • MySQL5.5多表之连接查询

    连接查询 关系型数据库管理系统中,通常将每个实体的所有信息存放在一张表中,当查询数据时,通过连接操作查询多个表中的...

  • MySQL03

    DQL查询语句 分页查询 分组函数 分组查询 子查询 多表连接查询 1、分页查询 当数据库中数据过多时,不能一次全...

  • 64MySQL-分页查询&表连接&count统计&索引优化总结

    1 Mysql 分页查询sql 执行原理? 2,千万级数据mysql 分页查询如何优化 3,Mysql表连接底层实...

网友评论

      本文标题:Oracle数据库连接多个表参数化分页模糊多层查询的问题

      本文链接:https://www.haomeiwen.com/subject/cspjqktx.html