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

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

示例表:

示例结果:

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

【问题讨论】:

    标签: sql oracle pivot


    【解决方案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 回答了您提出的问题。如果您还有其他问题,我建议您将其作为新问题提出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多