【问题标题】:Correlated Query? Update query to make dynamic with dates相关查询?更新查询以使日期动态化
【发布时间】:2021-01-19 18:18:08
【问题描述】:

我最初写了一个 with 语句来收集代表在特​​定日期联系过的客户 ID 列表。

我意识到查询的编写方式并不是动态的。我最终想查询一个日期范围内的多个代表,而不仅仅是一个日期。

我需要查询根据初次通话的日期前瞻 90 天,并告诉我是否采取了特定行动(即购买)

我想我必须编写一个相关查询,但不知道如何去做。 TIA。

With CSA_CONTACT AS (SELECT part_id 
FROM table 
WHERE REP_ID = '12345' 
AND CALL_DATE = '03-Dec-2020'),
PURCHASE AS (SELECT PART_ID, PURCHASE 
FROM PUR_TABLE 
WHERE PUR_DATE BETWEEN '03-Dec-2020 AND dateadd(DAY, 90, '03-Dec-2020'))
SELECT C.PART_ID
CASE WHEN P.PURCHASE is not null then 'Y' ELSE 'N' END PURCHASE_IND
FROM CSA_CONTACT C LEFT JOIN PUR_TABLE P WHERE C.PART_ID = P.PART_ID

【问题讨论】:

    标签: sql snowflake-cloud-data-platform dbeaver


    【解决方案1】:

    你一定是在寻找group by的解决方案,如下:

    Select t.rep_id, t.part_id,
           Case when dateadd(DAY, 90, min(t.call_date)) > min(p.pur_date)
                then 'Y' 
                else 'N'
           end as purchase_ind
      From table t
      Left join pur_table p on p.part_id = t.part_id
     Where t.rep_id in (multiple reps like - 123,456, ...)
     Group by t.rep_id, t.part_id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多