`
齐晓威_518
  • 浏览: 617968 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

在ORACLE中如何将一个表中某字段值合计与另一个表的某字段值相减

 
阅读更多
现在有两个表,A表字段AMOUNT为发票金额,B表字段REV为收款金额,两表通过字段id关联,需将A表的字段AMOUNT与B表的字段REV相减,但是A表表示的发票可能对应多个B表的收款金额,如何将A表的AMOUNT与对应的B表的多个REV值的和相减,得到未收款金额

select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result
  from a,
       (select b.id,sum(b.REV) REV
          from b
         group by b.id) b
where a.id=b.id(+);
分享到:
评论

相关推荐

    oracle日期时间判断函数

    在Oracle数据库系统中,日期和时间的处理是数据库操作中的重要组成部分。Oracle提供了丰富的日期时间函数,用于处理和分析日期时间数据。针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个...

    mysql转oracle要注意的几项

    在Oracle中,`NVL`函数被广泛用来将NULL值转换为指定的默认值,这与MySQL中的处理方式类似。例如: ```sql NVL(列名, 0) ``` 这会将`列名`中的任何NULL值替换为0,确保在进行数学运算或比较时不会出现问题。此外,...

    java_oracle_day02.pdf

    例如,在案例1中,通过计算员工的薪资与一个固定比率的乘积,并使用`round()`函数将其四舍五入到两位小数,可以得到一个更易于理解和使用的薪资数额。 ##### trunc() `trunc()`函数用于截断数字,不进行任何四舍五...

    oracle常用的sql语句

    分组查询是指将数据按照一个或多个字段的值进行分组。 ##### 12.1 groupby 使用`GROUP BY`子句对结果进行分组,例如:`SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;`。 ##### 12.2 having...

    oracle时间差表达式

    在Oracle数据库中,计算两个日期之间的时间差是一个常见的需求,尤其是在处理业务逻辑或数据报告时。本篇文章将详细介绍如何利用Oracle内置函数来精确计算两个日期之间的差值,并且能够得到天数、小时数、分钟数、秒...

    Oracle到mysql转换的问题总结.doc

    - Oracle允许在一个表中先查询再更新,MySQL则需要使用别名避免歧义。 3. **自动增长字段**: - MySQL有`AUTO_INCREMENT`特性,Oracle则需要创建序列并手动引用。 4. **翻页SQL处理**: - MySQL使用`LIMIT`...

    Oracle计算时间差为毫秒的实现代码

    在Oracle 12c及以上版本,你可以使用`INTERVAL DAY TO SECOND`类型直接计算时间差,这将返回一个包含天数、小时数、分钟数、秒数以及微秒数的间隔。对于毫秒级别的计算,可以使用`EXTRACT`函数从间隔中提取微秒部分...

    Oracle学习(比较齐全的介绍)

    **子查询**是在另一个查询内部执行的查询。 ##### 1. 在where语句中使用子查询 ```sql SELECT * FROM table_name WHERE column_name IN (SELECT column_name FROM another_table); ``` ##### 2. 在from语句中使用...

    oracle_函数介绍

    - 解释:这里使用了`SYSDATE`函数获取当前日期,并与`BIRTHDATE`字段相减得到天数差,然后除以365得到年龄。 2. **格式化日期输出**: - SQL 语句:`SELECT TO_CHAR(HIRE_DATE, 'YYYY-MM-DD') FROM EMPLOYEES;` ...

    Oracle日期处理

    在Oracle中,可以直接相减两个日期来计算它们之间的差值,结果通常是一个数值表示天数的差异。 **示例:** ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'yyyymmdd')) FROM DUAL; ``` 这条SQL语句计算当前...

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

    oracle的nvl函数的使用介绍

    Oracle的NVL函数是数据库操作中非常常用的一个函数,它主要用于处理NULL值,尤其是在处理包含NULL的查询和更新语句时。NVL函数的基本概念是,如果提供的第一个表达式(eExpression1)的计算结果为NULL,那么它将返回...

    oracle常用函数

    单行函数是在 Oracle 数据库中最常用的一类函数,它们的特点是每次只处理一行记录中的某个字段或表达式,并返回一个值。接下来我们将详细介绍几种常用的单行函数。 #### 三、字符函数 字符函数主要用来处理字符串...

    Oracle的sql语句练习题含复习资料.docx

    #### 练习题21:显示在一个月为30天的情况下所有员工的日薪金,忽略余数 **SQL语句**: ``` SELECT ename, round(sal / 30) AS daily_sal FROM emp; ``` **解析**: - `round()`函数用于四舍五入到整数。 - **知识...

    Oracle date 和 timestamp 区别详解

    例如,如果你有两个事件,一个在12:00:01,另一个在12:00:01.5,DATE类型将无法区分这两个事件的先后。为了显示DATE数据的不同格式,可以使用TO_CHAR函数进行转换。例如,`SELECT TO_CHAR(date1, 'MM/DD/YYYY HH24:...

    Oracle 练习题 很好的自测题

    #### 一、Oracle基础练习题解析 ##### CORE-E-001:基础SQL操作与理解 1. **SQLPLUS连接失败(ORA-12541)** - **问题**: 当尝试使用SQL*Plus工具连接Oracle数据库时,可能会遇到“Oraclenotavailable”或ORA-...

    oracle—SQL技巧之(一)连续记录查询sql案例测试

    在这里,我们使用了自连接的方法,通过`ROWNUM`生成一个序列,并将其与日期相减得到一个新的列`GNUM`。然后,通过`GROUP BY TYEAR, GNUM`将相同年份和连续日期差分的行进行分组。 ```sql SELECT TYEAR, MIN(TDATE...

    人大金仓数据库适配mysql

    - 如果需要计算两个日期或时间的差值,且其中一个或两个是字符串类型,则需要先将其转换为日期类型。 - MySQL中的直接相减方法在KingbaseES中不适用,需要使用 `DATE()` 函数进行转换。 示例: ```sql SELECT DATE...

    如何获得两个小时之间的差值,而没有负值

    当你想要得到一个始终为正的小时差值时,这通常意味着你需要确保即使其中一个时间早于另一个,结果也不会出现负数。在这个问题中,我们可以使用一些基本的SQL函数来实现这个目标。 首先,我们需要确定两个时间点。...

Global site tag (gtag.js) - Google Analytics