需要从 oracle 表数据创建 Totals 报告

Posted

技术标签:

【中文标题】需要从 oracle 表数据创建 Totals 报告【英文标题】:Need to create a Totals report from oracle table data 【发布时间】:2019-09-29 23:01:03 【问题描述】:

我在 oracle 中有一个类似于示例表图像的表,我需要输出分离的总计,如第二个示例结果图像所示。 我需要每个 item_type 的总和,其中 A 和 B 只是可以添加的大量可能项目的示例。

示例表:

示例结果:

任何帮助将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

使用条件聚合:

SELECT
    store,
    SUM(CASE WHEN item_type = 'A' AND item_status = 'IN'  THEN 1 ELSE 0 END) a_items_in,
    SUM(CASE WHEN item_type = 'A' AND item_status = 'OUT' THEN 1 ELSE 0 END) a_items_out,
    SUM(CASE WHEN item_type = 'B' AND item_status = 'IN'  THEN 1 ELSE 0 END) b_items_in,
    SUM(CASE WHEN item_type = 'B' AND item_status = 'OUT' THEN 1 ELSE 0 END) b_items_out
FROM mytable
GROUP BY store

【讨论】:

实际上我应该补充一点,项目类型不会只是 A 或 B,而是最多可以添加 100 个左右的项目和更多项目,所以我需要查询来汇总项目类型而不必继续添加如果可能的话,添加新项目时的查询案例。谢谢 @JamesJohnson:一个 sql 查询必须返回一组 固定 列。您所要求的需要动态 sql,这似乎超出了这个问题的范围。 @JamesJohnson 。 . . GMB 回答了您提出的问题。如果您还有其他问题,我建议您将其作为问题提出。

以上是关于需要从 oracle 表数据创建 Totals 报告的主要内容,如果未能解决你的问题,请参考以下文章

windows server 2008 pg数据库创建表空间报错提示权限不够,怎么解决?

oracle数据库创建表时,int型数据为何报错

oracle数据库创建表时,int型数据为何报错?

Oracle报Ora01522

ORACLE10G expdp 导出数据报错,大神看下

Oracle ORA-08104报错处理方法及注意事项