我有两个正在尝试构建的视图。View #1 仅返回一组推荐数据,条件是推荐起源于过去 14 天(以及一些其他条件)。这已经完成。
第二种,视图 #2,必须返回过去 14 天内有推荐的客户的所有相关推荐(来自视图 #1 的推荐),但必须限制在推荐日期前不超过 60 天的视图中#1,不得包含来自视图 #1 的相同推荐,并且不能在来自视图 #1 的相关推荐之后产生相关推荐
查看#1:TP.INC_REFERRALS_V
所以基本上我想在第二个视图中为每个推荐放置一个日期条件,该推荐基于第一个视图中的推荐对应项。
到目前为止,我在查询结束时的条件是:
...
WHERE TP.PROSPECT.PROSPECT_ID IN ((SELECT TP.INC_REFERRALS_V.REFERRAL_TABLE_PROS_ID FROM TP.INC_REFERRALS_V))
--这将标识符(prospect_id)与第一个视图(tp.inc_referrals_v)匹配以返回所有相关的推荐
AND TP.REFERRAL_V.REFERRAL_ID NOT IN (SELECT TP.INC_REFERRALS_V.REFERRAL_ID FROM TP.INC_REFERRALS_V)
-- 这不包括已在第一个视图中返回的推荐
AND...
-- 需要其他标准的逻辑。
建议?
第一个视图的查询如下。第三个视图将是完全相同的格式,但条件不同..(这是我遇到问题的部分)
查看#1
SELECT TP.REFERRAL_V.REFERRAL_ID,
TP.REFERRAL_V.PROSPECT_ID AS REFERRAL_TABLE_PROS_ID,
TP.PROSPECT.PROSPECT_ID,
TP.PROSPECT.SEARCH_NAME AS CUSTOMER_PROSPECT_NAME,
TP.PROSPECT.CUSTOMER_ID,
TP.PROSPECT.CUSTOMER_SINCE,
TP.PROSPECT.IS_BUSINESS,
TP.PRODUCT_ML_INFO.PRODUCT_CODE,
TP.PRODUCT_ML_INFO.PRODUCT_ID,
TP.REGION_ML_INFO.REGION_DESCRIPTION,
CASE WHEN (TP.REFERRAL_V.PRODUCT_ID) IS NULL THEN
TP.PRODUCT_CATEGORY_ML_INFO.PROD_CAT_DESCRIPTION ELSE
TP.PRODUCT_ML_INFO.PRODUCT_DESCRIPTION END AS PROD_CAT_NAME,
TP.REFERRAL_V.PROD_CATEGORY_ID,
(VXUZ.FIRST_NAME || ' ' || VXUZ.LAST_NAME) AS CREATED_BY,
(VXU2.FIRST_NAME || ' ' || VXU2.LAST_NAME) AS ASSIGN_TO,
CASE WHEN (TP.REFERRAL_V.REFERRAL_STATUS) = '2'
THEN TP.REFERRAL_V.CREDIT_LOCATION_NAME ELSE LCX1.LOCATION_NAME END AS ASSIGN_TO_COST_CENTER,
EXU2.EMPLOYEE_NUMBER AS ASSIGN_TO_EMP_NUM,
CXZ1.CODE_TEXT AS STAGE,
TP.CODE.CODE_TEXT AS STATUS,
TP.REFERRAL_EXTENSION_V.EXTENDED_DATETIME2 AS SOLD_DATE,
TP.REFERRAL_V.CREATED_WHEN AS ORIGINATION_DATE,
FROM TP.REFERRAL_V
(joins removed - too many to list)
WHERE VXU4.USER_ID <> VXU2.USER_ID
AND TRUNC(TP.REFERRAL_V.CREATED_WHEN) BETWEEN TRUNC(SYSDATE - 14) AND TRUNC(SYSDATE)
查看 1 个结果
Referral_id Origination_Date Prospect_ID
2001 29-NOV-12 A1
2002 02-DEC-12 A2
2003 07-DEC-12 A3
View2 结果(应该是这样的):
Referral_id Origination_Date Prospect_ID
1995 01-NOV-12 A1
1993 25-OCT-12 A2
1994 20-OCT-12 A2
1990 17-OCT-12 A2
1989 10-NOV-12 A3
正如您在 View2 结果中看到的那样,结果应包括 View1 中涉及的“prospect_ids”的所有相关引用,但不应包含 60 天前的任何日期,也不应包括视图 1 本身的结果。