【发布时间】:2021-09-18 13:29:24
【问题描述】:
我有以下格式的数据
Id Code Date Amount Type
101 B25 5/4/2020 $500 C
101 A15 5/5/2020 $100 D
101 D15 5/5/2020 $200 D
102 B35 6/2/2020 $400 C
102 A15 6/2/2020 $50 D
我需要以下内容
Id Code Date Amount Type C_Date C_Amount
101 A15 5/5/2020 $100 D 5/4/2020 $500
102 A15 6/2/2020 $50 D 6/2/2020 $400
对于所有 Code='A15' 我需要上一行的日期和金额,其中 Type='C'
我做了这个
Select id, Amount, Date,
sum(Amount) over (partition by ID ROWS between UNBOUNDED PRECEDING and CURRENT ROW) as
C_Amount,
Max(Date) over (partition by ID ROWS between UNBOUNDED PRECEDING and CURRENT ROW) as
C_Date
from Table
where code='A15' or Type='C'
输出不是我们想要的
Id Code Date Amount Type C_Date C_Amount
101 A15 5/5/2020 $100 D ***5/5/2020 $100***
102 A15 6/2/2020 $50 D ***6/2/2020 $50***
感谢任何帮助
【问题讨论】: