【发布时间】:2021-10-07 08:23:53
【问题描述】:
我有一张下表:
**Person Id LOCATION VISIT_DATE**
12345 LOCATION1 27/01/2020
12345 LOCATION2 12/02/2018
12345 LOCATION2 09/08/2018
12345 LOCATION2 12/07/2018
12345 LOCATION2 31/01/2020
12345 LOCATION2 07/10/2019
12345 LOCATION2 30/04/2019
12345 LOCATION3 28/09/2018
12345 LOCATION3 18/02/2020
我想将 LOCATION1 的日期与其他位置的日期进行比较(此处:LOCATION 2 和 3)
我想从这里实现的是,我想检查一个特定的 person_id(这里:12345)是否在访问位置 1 的 4 周内具有位置 2 或位置 3 访问日期。
在这里我们可以看到该人在地点 2 和地点 3 有两个满足上述条件的日期(即日期在访问地点 1 的 4 周内),如果此类成员应标记为“Y”它们在位置 1 日期的 4 周内没有位置 2 和 3 日期,则应将它们标记为“N”。
我知道带有 Week 或 DAYS 的 DATEDIFF 函数会派上用场。我尝试了不同的 CASE 语句,但我无法达到我想要的结果。
请帮忙!
注意,在我的表格中,特定 PersonID 将只有一个位置:LOCATION 1,但可以有多个 LOCATION 2 和 3
【问题讨论】:
标签: sql snowflake-cloud-data-platform