SQL 查询在 group by 表达式 (Oracle) 上返回结果

贾克斯

当我运行以下查询时,我会得到每个会计期间的金额总和。但是在某些会计期间,我没有任何金额,因此自然而然,结果集中不会显示那些没有金额总和(空)的期间。

我想知道如何为他们返回金额为 0 的那些。

SELECT 
    ACCOUNTING_PERIOD, 
    SUM(RESOURCE_AMOUNT) AS TOTAL,
FROM 
    RESOURCE_TBL
GROUP BY
    ACCOUNTING_PERIOD

我得到以下结果集

accounting_period   TOTAL
-------------------------
1                   234
3                    65
5                   943
6                   299
.                   .
.                   .
.                   .

在上述期间 2 和 4 被省略,因为总和为零或空,但我想得到

accounting_period   TOTAL
-------------------------
1                   234
2                     0
3                    65
4                     0
5                   943
6                   299
.                   .
.                   .
.                   .
MT0

生成所有可能的会计期间的列表,然后LEFT OUTER JOIN与您的表一起生成:

WITH accounting_periods ( accounting_period ) AS (
  SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 12
)
SELECT a.ACCOUNTING_PERIOD, 
       COALESCE( SUM(RESOURCE_AMOUNT), 0 ) AS TOTAL
FROM   accounting_periods a
       LEFT OUTER JOIN
       RESOURCE_TBL r
       ON ( a.accounting_period = r.accounting_period )
GROUP BY a.ACCOUNTING_PERIOD

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle查询显示错误“不是GROUP BY表达式”

来自分类Dev

Oracle SQL 正则表达式 - 在正则表达式查询中传递变量名称

来自分类Dev

使用group by的oracle sql查询

来自分类Dev

Oracle“不是GROUP BY表达式”

来自分类Dev

不是GROUP BY表达式(Oracle)

来自分类Dev

使用 sum 和 group by 条件将 SQL 查询转换为 linq/lambda 表达式

来自分类Dev

Oracle:此表达式“ <>”在SQL查询中是什么意思?

来自分类Dev

修改Oracle Sql查询返回的结果的内容

来自分类Dev

Oracle数据库查询正则表达式未给出正确的结果

来自分类Dev

表达式引擎的SQL AND OR查询?

来自分类Dev

SQL查询-表达式> 0

来自分类Dev

SQL 不是 GROUP BY 表达式

来自分类Dev

JOOQ查询布尔表达式的结果

来自分类Dev

将Excel表达式添加到SQL查询结果

来自分类Dev

将Excel表达式添加到SQL查询结果

来自分类Dev

使用T-SQL在CASE表达式中使用子查询的结果

来自分类Dev

从过滤的SQL查询返回正则表达式匹配作为字段

来自分类Dev

选择多个字段而不使用聚合表达式时,Oracle SQL返回错误

来自分类Dev

如何通过OleDb在MS Access上使用公用表表达式执行复杂的SQL查询

来自分类Dev

Oracle SQL Developer案例表达式嵌套查询导致“ ORA-00937:不是单个组组函数”错误

来自分类Dev

在没有 GROUP BY 的聚合查询中,表达式

来自分类Dev

如何创建正则表达式来查询Oracle?

来自分类Dev

Oracle 错误:ORA-00979:不是 GROUP BY 表达式

来自分类Dev

Oracle SQL查询返回单行中的列结果

来自分类Dev

正则表达式表达式Oracle SQL 11g解析XML

来自分类Dev

UDT上的Spark SQL表达式

来自分类Dev

使用GROUP BY时强制Oracle SQL查询返回至少一行

来自分类Dev

Oracle SQL,在分层查询上获得重复结果

来自分类Dev

sql查询以使用算术表达式创建列

Related 相关文章

  1. 1

    Oracle查询显示错误“不是GROUP BY表达式”

  2. 2

    Oracle SQL 正则表达式 - 在正则表达式查询中传递变量名称

  3. 3

    使用group by的oracle sql查询

  4. 4

    Oracle“不是GROUP BY表达式”

  5. 5

    不是GROUP BY表达式(Oracle)

  6. 6

    使用 sum 和 group by 条件将 SQL 查询转换为 linq/lambda 表达式

  7. 7

    Oracle:此表达式“ <>”在SQL查询中是什么意思?

  8. 8

    修改Oracle Sql查询返回的结果的内容

  9. 9

    Oracle数据库查询正则表达式未给出正确的结果

  10. 10

    表达式引擎的SQL AND OR查询?

  11. 11

    SQL查询-表达式> 0

  12. 12

    SQL 不是 GROUP BY 表达式

  13. 13

    JOOQ查询布尔表达式的结果

  14. 14

    将Excel表达式添加到SQL查询结果

  15. 15

    将Excel表达式添加到SQL查询结果

  16. 16

    使用T-SQL在CASE表达式中使用子查询的结果

  17. 17

    从过滤的SQL查询返回正则表达式匹配作为字段

  18. 18

    选择多个字段而不使用聚合表达式时,Oracle SQL返回错误

  19. 19

    如何通过OleDb在MS Access上使用公用表表达式执行复杂的SQL查询

  20. 20

    Oracle SQL Developer案例表达式嵌套查询导致“ ORA-00937:不是单个组组函数”错误

  21. 21

    在没有 GROUP BY 的聚合查询中,表达式

  22. 22

    如何创建正则表达式来查询Oracle?

  23. 23

    Oracle 错误:ORA-00979:不是 GROUP BY 表达式

  24. 24

    Oracle SQL查询返回单行中的列结果

  25. 25

    正则表达式表达式Oracle SQL 11g解析XML

  26. 26

    UDT上的Spark SQL表达式

  27. 27

    使用GROUP BY时强制Oracle SQL查询返回至少一行

  28. 28

    Oracle SQL,在分层查询上获得重复结果

  29. 29

    sql查询以使用算术表达式创建列

热门标签

归档