【发布时间】:2015-02-25 21:39:38
【问题描述】:
我想得到的 PROD_AMT 是当 ACCT_NBR、PROD_NBR 和 PROD_AMT 相同时,我只需要一个 PROD_AMT,即 100(来自不同),而当 ACCT_NBR 相同但 PROD_NBR 不同时,则 PROD_AMT I需要90(30+60)
SELECT ACCT_NBR
,COUNT(DISTINCT CASE WHEN PROD_NBR = 1 THEN SUM(DISTINCT PROD_AMT)
WHEN PROD_NBR > 1 THEN SUM(PROD_AMT)
END) AS AMT
FROM TABLE
ACCT_NBR PROD_NBR PROD_AMT
3007 001 30
3007 002 60
1000 003 100
1000 003 100
【问题讨论】:
-
如果
prod_nbr的acct_nbr为1,您是否想对amt求和,并且您想在事件中获得不同的prod_amtacct_nbr不包含prod_nbr的记录。正如所写,您在寻找什么并不是很清楚。
标签: teradata