【发布时间】:2021-06-15 05:55:29
【问题描述】:
我有以下不同日期的日期和金额变量。根据最少的日期,每个 ID 只需要一行。
我拥有的数据:
ID Date Code Amt
101 2/1/2018 A90 25
101 2/2/2018 B90 15
101 2/5/2018 A90 25
102 2/1/2018 B90 10
我想要的数据:
ID A90_Date B90_Date A90_Amt B90_Amt
101 2/1/2018 2/2/2018 25 15
102 2/1/2018 10
我的查询:
Select ID,
min(case when Code='A90' then Date else Null end) as A90_Date,
min(case when Code='B90' then Date else Null end) as B90_Date,
min(case when Code='A90' then Amt else Null end) as A90_Amt,
min(case when Code='B90' then Amt else Null end) as B90_Amt
from Table
group by 1
虽然这给了我日期和金额值,但我担心它们是否准确来自超过 1 毫米的记录。有没有一种有效的方法来使用Teradata 中的Qualify/Partition 语句提取这些数据?
提前感谢您的帮助。
【问题讨论】:
-
为什么会出错?这是非常标准的条件聚合。
标签: case teradata min partition