首页 > 解决方案 > 特别是在每个日期的 10 天内重叠的日期

问题描述

我试图在FROM_DATE相同的 10 天内找到重叠的日期,PERSON_ID但发生在不同的MANAGER_IDOR下SHIFT_ID。这缺少了一些日期,这些日期会显示出来,因为它们都比存在不同MANAGER_IDOR的实例早 10 天SHIFT_ID

DAYS_TABLE我用SET_DATE( FROM_DATE) 和创建了一个,TEN_DAYS距离SET_DATE.

SELECT DISTINCT
F.*
FROM #MAIN_TABLE F
INNER JOIN #DAYS_TABLE O
ON (F.PERSON_ID = O.PERSON_ID)
AND(F.ORDER_NBR != O.ORDER_NBR)
AND (NOT((F.MANAGER_ID = O.MANAGER_ID) OR
         (F.SHIFT_ID = O.SHIFT_ID)))

WHERE (F.FROM_DATE BETWEEN O.SET_DATE AND O.TEN_DAYS
);

我希望看到所有PERSON_ID日期重叠(向前 10 天)不同SHIFT_ID或不同的实例MANAGER_ID。这将包括可能在相同SHIFT_IDMANAGER_ID 但在有差异的 10 天内的所有日期。

PER_ID  SHFT_ID MGR_ID  FROM    
1   A   U1  1/1/2019    
2   A   U1  1/1/2019    
1   A   U2  1/12/2019   
2   B   U2  1/12/2019   
1   B   U3  1/11/2019   


PER_ID  SHFT_ID MGR_ID  FROM    10_DAYS
1   A   U2  1/12/2019   1/22/2019
1   B   U3  1/11/2019   1/21/2019

标签: sqlsap-iq

解决方案


推荐阅读