【问题标题】:How to achieve SUM using UNION operation如何使用 UNION 操作实现 SUM
【发布时间】:2023-01-19 15:58:03
【问题描述】:

我想用 UNION 操作执行 SUM。但是有错误。

SELECT x.YEAR_WISE,x.OFFICE_NAME,x.CATEGORY,x.KWT_COUNT,x.NON_KWT_COUNT FROM x
UNION ALL
SELECT ''AS YEAR_WISE,'' AS OFFICE_NAME,'SUM',sum(x.KWT_COUNT),sum(x.NON_KWT_COUNT)FROM x;

这里 x 是使用 WITH 命令创建的 [with x as(select * from ..)]

x中的输出如下

YEAR_WISE    OFFICE_NAME                 CATEGORY   KWT_COUNT   NON_KWT_COUNT
 2,019    HeadQuarters-MultiSpeciality   Doctor        18          40
 2,019    HeadQuarters-MultiSpeciality   Nurse          7          16

在执行 UNION 和 SUM 时,所需的输出如下:

YEAR_WISE    OFFICE_NAME                 CATEGORY   KWT_COUNT   NON_KWT_COUNT
 2,019    HeadQuarters-MultiSpeciality   Doctor        18          40
 2,019    HeadQuarters-MultiSpeciality   Nurse          7          16
                                         SUM           25          56

如何实现这个输出。查询中需要修改什么。请注意,我不想要子查询,我想要底部的总和。

【问题讨论】:

  • 你得到什么错误?
  • 基于belwo sql错误查询 SELECT x.YEAR_WISE,x.OFFICE_NAME,x.CATEGORY,x.KWT_COUNT,x.NON_KWT_COUNT FROM x UNION ALL SELECT ''AS YEAR_WISE,'' AS OFFICE_NAME,'SUM' AS CATEGORY,sum( x.KWT_COUNT),sum(x.NON_KWT_COUNT) FROM x GROUP BY x.YEAR_WISE, x.OFFICE_NAME, x.CATEGORY;我收到 SQL Error [339] [HY000]: SAP DBTech JDBC: [339]: invalid number: not a valid number string ''
  • SQL 错误 [339] [HY000]:SAP DBTech JDBC:[339]:无效数字:不是有效的数字字符串 ''

标签: sql database sap database-administration hana


【解决方案1】:

尝试这个:

SELECT ISNULL(x.YEAR_WISE, '')
      ,ISNULL(x.OFFICE_NAME, '')
      ,ISNULL(x.CATEGORY, 'SUM')
      ,sum(x.KWT_COUNT)
      ,sum(x.NON_KWT_COUNT)
FROM x
GROUP BY GROUPING SETS 
(
    (x.YEAR_WISE,x.OFFICE_NAME,x.CATEGORY)
   ,()
)

您可以找到有关分组集的更多信息here

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 2018-01-14
    • 2014-02-05
    • 2019-12-15
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2017-04-15
    • 2013-11-26
    相关资源
    最近更新 更多