`

给数据块添加where子句解决复杂条件的查询

 
阅读更多

问题:在form中有些查询条件在块的PRE-QUERY触发器中不是通过简单的赋值就可以查询,而要通过复杂的条件处理后再进行查询,这样在PRE-QUERY中为查询而准备的一些函数就满足不了需求了。此时就需要通过在数据块上添加where子句来实现复杂条件的查询。如下例:

if name_in('QUERY_FIND.PO_PROJECT_ID') is not null then
 l_where_case := 'invoice_id in (
     SELECT fih.invoice_id
       FROM cux_form_invoice_headers_all fih,
            cux_form_invoice_lines_bak   fil,
            ont.oe_order_lines_all       ool
      WHERE fih.invoice_id    = fil.invoice_id
        AND fil.order_line_id = ool.line_id
        AND ool.project_id    = ' || name_in('QUERY_FIND.PO_PROJECT_ID') || ')';
 set_block_property('UPDATE_HEADERS', default_where, l_where_case);

  
(注意:在手电筒查询时,如果有where子句,则在查询完一次后一定要记得将where子句重新初始为空,否则,当用手电筒查询完后,要想将全部数据查询出来而使用CTRL+F11是没有效果的,因为在用手电筒查询时,已经通过where子句将查询条件加在该数据块上了,所以当使用CTRL+F11时,数据块也是带着where条件查询的,所以显示出来的现象就是用CTRL+F11是没有效果的。)

 

分享到:
评论

相关推荐

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决方案。  作为一本讲述T-SQL高级查询的专业图书,《Microsoft...

    大学计算机课程实验7(经管类).docx

    SQL查询提供了Select 语句用于数据查询,它是功能最强也最为复杂的SQL语句,它不但可以建立简单查询,还可以实现条件查询、分组统计、多表联接查询等。 查询"设计视图"分为 下两部分,上半部分为数据源窗口,用于...

    SQL入门常见问题总结与实用技巧介绍.docx

    避免全表扫描,利用WHERE子句过滤不必要的数据。 减少JOIN的数量和规模,优先考虑INNER JOIN和LEFT JOIN。 使用EXISTS替代IN子句提高效率。 数据类型与查询优化 适当的数据类型选择: 根据实际数据范围和精度选择...

    精通sql结构化查询语句

    6.2.4 使用别名 6.3 排序与分组 6.3.1 升序排序与降序排序 6.3.2 多列字段排序 6.3.3 使用GROUPBY子句对查询结果进行分组 6.3.4 HAVING子句的应用 6.4 条件查询 6.4.1 WHERE单条件语句查询 6.4.2 运算符查询 6.4.3 ...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    用递归逻辑、具体化路径或嵌套集合解决方案查询特殊的数据结构;通过逻辑难题提高你的逻辑能力并掌握查询问题的核心等。  你将学习到如何:  理解逻辑和物理的查询处理;  使用方法论优化查询;  解决关系分区...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    1.5.2 WHERE子句 11 1.5.3 GROUP BY子句 11 1.5.4 HAVING子句 12 1.5.5 SELECT列表 12 1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 ...

    数据库系统概论实验指导书.doc

    使用WHERE子句进行有条件的查询 8.掌握使用IN, NOT IN,BETWEEN来缩小查询范围的方法 9.利用LIKE 子句实现模糊查询 ,利用ORDER子句为结果排序 10.学会用SQL SERVER 的统计函数进行统计计算 11.掌握用GROUP BY ...

    mysql数据库的基本操作语法

    修改多条或指定条件的数据,需要用where条件来完成。 修改所有数据 update temp set name = ‘jack2’; 所有的数据的name会被修改,如果修改多列用“,”分开 update temp set name = ‘jack’, age = 22; 修改指定...

    SQL Server 2008编程入门经典(第3版)

    7.2.2 在WHERE子句中的关联子查询 7.2.3 处理NULL数据——ISNULL函数 7.3 派生表 7.4 EXISTS运算符 7.5 混合数据类型:CAST和CONVERT 7.6 MERGE命令 7.6.1 BYl.ARGET和BYSOURCE 7.6.2 OUTPUT子句 7.7 性能方面的考虑...

    21天学会SQL

    9.3.3 WHERE子句用法 181 9.3.4 根据条件查询数值数据 182 9.3.5 根据条件查询字符数据 183 9.3.6 根据条件查询日期数据 184 9.3.7 按范围查询数据 185 9.3.8 查询NULL值 186 9.4 排序查询数据 186 9.4.1 按单列排序...

    SQL语法大全

    sql="select sum(字段名) as 别名 from 数据表 where 条件表达式" set rs=conn.excute(sql) 用 rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)。常见的有Oracle、mssql、mysql等 二、 主流数据库 数据库名 公司 特点 工作环境 mssql 微软 只能能运行在windows平台,...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    7.2.2 在WHERE子句中的关联子查询 7.2.3 处理NULL数据——ISNULL函数 7.3 派生表 7.4 EXISTS运算符 7.5 混合数据类型:CAST和CONVERT 7.6 MERGE命令 7.6.1 BYl.ARGET和BYSOURCE 7.6.2 OUTPUT子句 7.7 性能方面的考虑...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    7.2.2 在WHERE子句中的关联子查询 7.2.3 处理NULL数据——ISNULL函数 7.3 派生表 7.4 EXISTS运算符 7.5 混合数据类型:CAST和CONVERT 7.6 MERGE命令 7.6.1 BYl.ARGET和BYSOURCE 7.6.2 OUTPUT子句 7.7 性能方面的考虑...

    Visual C++ 数据库系统开发完全手册.part2

    12.2.4 WHERE子句 12.2.5 使用ORDER BY排序查询结果 12.2.6 聚合函数 12.2.7 GROUP BY子句 12.2.8 HAVING子句 12.2.9 复杂查询 12.3 插入命令INSERT 12.3.1 INSERT命令简介 12.3.2 简单的INSERT命令 12.3.3 在插入...

    Visual C++ 数据库系统开发完全手册.part1

    12.2.4 WHERE子句 12.2.5 使用ORDER BY排序查询结果 12.2.6 聚合函数 12.2.7 GROUP BY子句 12.2.8 HAVING子句 12.2.9 复杂查询 12.3 插入命令INSERT 12.3.1 INSERT命令简介 12.3.2 简单的INSERT命令 12.3.3 在插入...

    Oracle.11g.从入门到精通 (1/2)

    3.3.2 WHERE子句 3.3.3 ORDER BY子句 3.3.4 GROUPBY子句 3.3.5 HAVING子句 3.3.6 多表连接查询 3.3.7 集合操作 3.3.8 子查询 3.4 数据操纵 3.4.1 INSERT语句 3.4.2 UPDATE语句 3.4.3 DELETE语句 3.4.4 TRLINCATE语句...

Global site tag (gtag.js) - Google Analytics