| ORG|销售ID|电荷|月|
| --|--|--|--|
| AA| 1 | 20 |Nov|
| AA| 2 | 30 |Dec|
| BB| 1 | 20 |Dec|
| BB| 2 | 00 |Dec|
| BB| 3 | 00 |Dec|
| BB| 1 | 20 |Nov|
| BB| 2 | 00 |Nov|
| CC| 3 | 00 |Dec|
我有一个扩展版本的上述表格。基本上,我希望找到的ORG的所有其他收费的总和销售ID不是1的记录是零,相对于每个月。
因此,对于结果,我想有一些类似于下面关于上表:
| ORG|月|
| --|--|
| BB| Nov|
| BB| Dec|
| CC| Dec|
我尝试了各种各样的查询,但这是最新的一个:
SELECT "MONTH", "ORG"
FROM
(SELECT DISTINCT "MONTH" , "CHARGE", "SALE_ID" ,"ORG"
CASE WHEN "SALE_ID" != 1 AND "SALE_ID" IS NOT NULL AND SUM("CHARGE") OVER(PARTITION BY "ORG", "MONTH" )=0
THEN "ORG" END
FROM "TABLE" WHERE
"MONTH" >= '01-JAN-2023' )
GROUP BY "MONTH", "ORG"
字符串
3条答案
按热度按时间bqjvbblv1#
你走在正确的道路上,但还有一些问题。
1.子查询缺少别名
1.根据您的月份列“2023年1月1日”,这将不起作用。
我已经重写了你的查询,它看起来应该像这样。你可能需要修改过滤。
字符串
wztqucjr2#
使用
HAVING
子句和条件聚合:字符串
其中,对于样本数据:
型
产出:
| ORG|月|
| --|--|
| CC| Dec|
| BB| Nov|
| BB| Dec|
fiddle
6ojccjat3#
比如说:
字符串