加入小于日期并对金额求和(雪花)
Join on smaller than date and sum the amounts (snowflake)
我对客户的购买有异议 table:
CLOSED_DATE
OPP_AMOUNT
0
1/4/2022
6600
1
2/17/2022
9125
和费用 table 日期:
CHARGE_DATE
0
2022-01-03 0:00:00
1
2022-01-04 0:00:00
2
2022-03-15 0:00:00
3
2022-03-15 0:00:00
4
2022-04-15 0:00:00
5
2022-04-15 0:00:00
对于每笔费用,我想知道那个时间点的总购买量(以及之前日期的首次购买量):
CHARGE_DATE
Target
0
2022-01-03 0:00:00
6600
1
2022-01-04 0:00:00
6600
2
2022-03-15 0:00:00
15725
3
2022-03-15 0:00:00
15725
4
2022-04-15 0:00:00
15725
5
2022-04-15 0:00:00
15725
尝试加入 charge_date<=closed_date 但这会多次带来数字,
有什么想法吗?
一种做法可以如下-
select distinct c.id,charge_date, sum(amount) over (partition by c.id order by c.id)
as target from charge_date c left outer
join closed_date d on closed_date<=charge_date order by c.id;
+----+-------------------------+--------+
| ID | CHARGE_DATE | TARGET |
|----+-------------------------+--------|
| 0 | 2022-01-03 00:00:00.000 | NULL |
| 1 | 2022-01-04 00:00:00.000 | 6600 |
| 2 | 2022-03-15 00:00:00.000 | 15725 |
| 3 | 2022-03-15 00:00:00.000 | 15725 |
| 4 | 2022-04-15 00:00:00.000 | 15725 |
| 5 | 2022-04-15 00:00:00.000 | 15725 |
+----+-------------------------+--------+
我对客户的购买有异议 table:
CLOSED_DATE | OPP_AMOUNT | |
---|---|---|
0 | 1/4/2022 | 6600 |
1 | 2/17/2022 | 9125 |
和费用 table 日期:
CHARGE_DATE | |
---|---|
0 | 2022-01-03 0:00:00 |
1 | 2022-01-04 0:00:00 |
2 | 2022-03-15 0:00:00 |
3 | 2022-03-15 0:00:00 |
4 | 2022-04-15 0:00:00 |
5 | 2022-04-15 0:00:00 |
对于每笔费用,我想知道那个时间点的总购买量(以及之前日期的首次购买量):
CHARGE_DATE | Target | |
---|---|---|
0 | 2022-01-03 0:00:00 | 6600 |
1 | 2022-01-04 0:00:00 | 6600 |
2 | 2022-03-15 0:00:00 | 15725 |
3 | 2022-03-15 0:00:00 | 15725 |
4 | 2022-04-15 0:00:00 | 15725 |
5 | 2022-04-15 0:00:00 | 15725 |
尝试加入 charge_date<=closed_date 但这会多次带来数字, 有什么想法吗?
一种做法可以如下-
select distinct c.id,charge_date, sum(amount) over (partition by c.id order by c.id)
as target from charge_date c left outer
join closed_date d on closed_date<=charge_date order by c.id;
+----+-------------------------+--------+
| ID | CHARGE_DATE | TARGET |
|----+-------------------------+--------|
| 0 | 2022-01-03 00:00:00.000 | NULL |
| 1 | 2022-01-04 00:00:00.000 | 6600 |
| 2 | 2022-03-15 00:00:00.000 | 15725 |
| 3 | 2022-03-15 00:00:00.000 | 15725 |
| 4 | 2022-04-15 00:00:00.000 | 15725 |
| 5 | 2022-04-15 00:00:00.000 | 15725 |
+----+-------------------------+--------+