自我加入寻找推荐客户见面
Self join to find referral clients met
我有一次访问 table,RM 访问了 PAN,那个 pan 可以推荐另一个 pan 见面。
所以在 table 我们有。 RM、访问日期、PAN(RM 会见的人)、推荐的 PAN。我需要检查该 RM 在特定日期范围内遇到的推荐 pan 的数量。在这里我有一个问题,我需要设置一个条件,即在转介 pan 的原始访问日期之后满足转介 PAN,因为我们甚至无法在转介 PAN 之前进行访问。
SELECT COUNT(PAN_NO) Met
FROM DIM_RM_VISITS
WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016'
AND PAN_NO IN
(
SELECT REFFERAL_CLIENT_NAME FROM DIM_RM_VISITS
WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016'
)
AND RM_CODE = '100540';
SELECT COUNT(PAN_NO) Met FROM DIM_RM_VISITS v WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016' AND PAN_NO IN ( SELECT REFFERAL_CLIENT_NAME FROM DIM_RM_VISITS rv WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016' AND v.VISIT_DATE <= rv.VISIT_DATE ) AND RM_CODE = '100540';
只需为 table 设置别名,并参考子 table 中的主要 table 访问栏,以进一步过滤数据。
我有一次访问 table,RM 访问了 PAN,那个 pan 可以推荐另一个 pan 见面。
所以在 table 我们有。 RM、访问日期、PAN(RM 会见的人)、推荐的 PAN。我需要检查该 RM 在特定日期范围内遇到的推荐 pan 的数量。在这里我有一个问题,我需要设置一个条件,即在转介 pan 的原始访问日期之后满足转介 PAN,因为我们甚至无法在转介 PAN 之前进行访问。
SELECT COUNT(PAN_NO) Met
FROM DIM_RM_VISITS
WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016'
AND PAN_NO IN
(
SELECT REFFERAL_CLIENT_NAME FROM DIM_RM_VISITS
WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016'
)
AND RM_CODE = '100540';
SELECT COUNT(PAN_NO) Met FROM DIM_RM_VISITS v WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016' AND PAN_NO IN ( SELECT REFFERAL_CLIENT_NAME FROM DIM_RM_VISITS rv WHERE VISIT_DATE BETWEEN '01-FEB-2016' AND '01-MAR-2016' AND v.VISIT_DATE <= rv.VISIT_DATE ) AND RM_CODE = '100540';
只需为 table 设置别名,并参考子 table 中的主要 table 访问栏,以进一步过滤数据。