`

给数据块添加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是没有效果的。)

 

分享到:
评论

相关推荐

    SQL WHERE 条件解析器

    `WHERE`子句是SQL查询中的关键部分,用于过滤出满足特定条件的记录。在处理复杂的查询逻辑时,理解和解析`WHERE`条件变得尤为重要。本文将深入探讨`SQL WHERE 条件解析器`这一工具,它在开发列表控件时被广泛使用。 ...

    解决Django中多条件查询的问题

    这样,Django会根据字典中的键值对生成相应的WHERE子句,执行多条件查询。 前端部分,使用jQuery和Ajax提交表单,获取数据并渲染到页面。HTML页面需要引入jQuery库、jQuery Form插件和Template.js,以支持异步提交...

    数据库实验五 复杂查询

    1. IN子查询:用于在WHERE子句中指定要检索的数据。 2. 比较子查询:用于比较两个表的数据,例如使用ANY、ALL和SOME谓词。 3. EXISTS子查询:用于检查子查询是否存在某些数据。 4. 复杂查询:用于检索多个表的数据,...

    详解MySQL中WHERE子句的用法

    在MySQL中,WHERE子句是SQL查询语句中不可或缺的一部分,它允许你在从数据库中提取数据时设置特定的条件。WHERE子句常用于SELECT、DELETE和UPDATE操作,以过滤出满足特定条件的记录。以下是对WHERE子句更深入的解释...

    如何在SQL中使用WHERE子句来过滤数据?

    3. **数据插入**:使用`INSERT`语句向数据库表中添加新数据。 4. **数据删除**:使用`DELETE`语句从数据库表中移除数据。 5. **数据定义**:使用`CREATE`、`ALTER`和`DROP`语句来创建、修改或删除数据库结构,如表、...

    SQL作业及答案SQL作业及答案

    4. 删除数据:`DELETE FROM`语句用于删除表中的记录,`WHERE`子句可指定删除条件。谨慎使用,因为数据一旦删除,通常无法恢复。 5. 联接操作:SQL提供了多种联接类型,包括内联接(INNER JOIN)、左联接(LEFT JOIN...

    精细化数据筛选:HAVING子句在SQL中的威力

    与 `WHERE` 子句不同的是,`WHERE` 在分组之前应用过滤条件,而 `HAVING` 在分组之后应用条件。 ##### 1. `HAVING` 子句简介 `HAVING` 子句通常与 `GROUP BY` 子句结合使用,用于过滤分组后的结果集。它经常与聚合...

    hibernate hql where语句拼接工具类

    这些方法接受一个当前的HQL查询字符串和一个新的条件,然后根据查询的现有结构适当地添加WHERE或AND/OR关键字,并附加新的条件。这在处理动态查询条件,如根据用户输入过滤数据时非常有用。 使用此类时,你可以像...

    MySQL如何在游戏开发中使用

    MySQL 在游戏开发中的应用主要涉及数据库设计、数据...通过 WHERE 子句设定查询条件,VALUES 子句指定插入的值,SET 子句用于更新字段,以及使用 DELETE 的 WHERE 子句来定位要删除的记录。开发人员还可以利用 DESCRIPT

    第05章销售管理数据库的数据查询.ppt

    通过对不同查询技术的熟练运用,不仅可以进行基础查询,还能进行复杂的数据分析,如多条件查询、连接查询和嵌套查询,满足各种业务场景的需求。因此,掌握销售管理数据库的数据查询技能是IT专业人员必备的能力之一。

    实验训练2:数据查询操作.docx

    实验训练2旨在帮助学生熟悉和掌握MySQL数据库中的数据查询操作,包括单表查询、多条件查询、DISTINCT关键字、ORDER BY排序、GROUP BY分组、聚合函数(COUNT(), SUM(), AVG(), MAX(), MIN())、内连接查询和外连接...

    实现一张数据表数据的添加,按照主键删除、修改与查询的功能

    查询数据可以是简单的按主键查询,也可以是复杂的条件查询。对于按主键查询,Mapper接口定义`getUserById`方法,返回单个User对象。XML文件中编写SELECT语句。在Service层中调用此方法,传入主键,获取并返回结果。...

    oracle 复杂查询语句的使用

    在`WHERE`子句中,子查询可以作为条件的一部分,如`IN`,`EXISTS`等操作符的参数。Oracle支持最多16层的子查询嵌套,但要注意,层数过多可能会导致性能下降。例如,下面的子查询用于找出既以研究所名义申请基金项目...

    SQL Server2005 查询技术

    6.1.2 条件查询:通过WHERE子句设定条件来筛选数据。例如,`SELECT SNO, SCORE FROM SC WHERE CNO = 'C1'`返回选修课程C1的学生学号和分数。条件查询还可以处理比较操作(如大于、小于等)、范围查询、部分匹配、...

    实验四 数据查询的操作(一)

    使用WHERE子句添加筛选条件。 4. **检索哪些仓库的面积在400到550平方之间,列出仓库号和所在的城市:** ```sql SELECT 仓库号, 城市 FROM 仓库表 WHERE 面积 BETWEEN 400 AND 550; ``` 使用BETWEEN...AND......

    第9章 Oracle数据的复杂查询.ppt

    在实际的数据库管理中,掌握这些查询技术至关重要,它们能够帮助用户更高效地处理和分析数据,解决复杂的数据查询问题。通过灵活运用这些查询方式,可以构建出满足各种需求的复杂SQL语句,从而提高数据库操作的效率...

    vb 连接远程数据库 查询数据

    - 可以在SQL语句中添加更多的WHERE子句来实现多条件查询,例如: ```vb cmd.CommandText = "SELECT * FROM 表名 WHERE 条件字段1 = '条件值1' AND 条件字段2 = '条件值2'" ``` 6. **模糊查询**: - 在WHERE...

    SQL查询条件生成器源码

    当需要根据特定条件检索数据时,WHERE子句是SQL查询的关键部分,它定义了满足哪些条件的记录应被返回。 一个典型的SQL查询条件生成器可能具有以下功能: 1. **条件组合**:支持AND和OR逻辑运算符,使开发者能够...

    实验5 数据查询1

    4. **条件查询**:涉及到关系运算符(如 `, `>`, `=`),BETWEEN AND用于指定范围,IN用于指定一组可能的值,LIKE则用于模式匹配,支持通配符`%`和`_`。 5. **多表查询**:关联查询是通过公共列连接多个表以获取所...

Global site tag (gtag.js) - Google Analytics