将逻辑应用于分组的SQL结果

问题描述 投票:0回答:2

正在寻找有关处理分组结果集的最佳方法的一些Oracle SQL理论帮助。我知道为什么要对它进行分组,但是我试图找出是否有一种方法可以>]

我有一个表,列出了一些成本中心的活动。看起来像这样:

Company    Object    Sub    July    August
A          1                20      50
A          1                10      0
A          1         10     0       20
B          1                0       0

然后,我需要标记8月是否有活动。因此,我正在编写一个CASE语句,其中如果August = 0,则为'FALSE',否则为'TRUE'。然后,我需要将所有记录按公司,对象和子分类。累积列是7月和8月的总和。但是,我的输出看起来像这样:

Company    Object    Sub    SUM    ActivityFlag
A          1                70        TRUE
A          1                10        FALSE
A          1         10     20        TRUE
B          1                0         FALSE

我需要的是:

Company    Object    Sub    August    ActivityFlag
A          1                80        TRUE
A          1         10     20        TRUE
B          1                0         FALSE

显然,这是一个更大问题的简化示例,但是我试图从理论上考虑这个问题,以便可以将类似的逻辑应用于我的实际问题。

是否有一种很好的SQL方法可以将第1行和第2行的8月金额相加,然后选择TRUE,以便将其显示在单行上?我希望这是有道理的。

正在寻找有关处理分组结果集的最佳方法的一些Oracle SQL理论帮助。我知道为什么将其分组,但是我试图找出是否有办法让我拥有...

sql oracle
2个回答
2
投票

使用汇总


1
投票

如果您使用case语句标记您的详细信息,则可以将其放入类似于以下内容的总和中:

© www.soinside.com 2019 - 2024. All rights reserved.