我已经研究了几种尝试完成我想要的方法,但我不知道从哪里开始或者什么是获得我需要的最佳方式。我玩过几种不同的技巧,但我不确定能否完成我需要的技术......
更改表
CHG_NUM | CHG_APP | CHG_DATE
CHG1234 | ABC | 01-MAR-2018
CHG1235 | ABC | 01-MAR-2018
CHG1236 | DEF | 03-MAR-2018
INCIDENT TABLE
INC_NUM | INC_APP | INC_DATE | INC_SEV
INC5678 | ABC | 02-MAR-2018 | HIGH
INC5679 | ABC | 03-MAR-2018 | HIGH
INC5680 | DEF | 03-MAR-2018 | HIGH
我希望能够遍历最近x天内的所有更改,并使用相同的应用程序显示在更改后y天内开始的所有事件,并获得看起来像这样的结果
RESULT
CHG_NUM | CHG_APP | CHG_DATE | INC_NUM | INC_APP | INC_DATE | INC_SEV
CHG1234 | ABC | 01-MAR-2018 | INC5678 | ABC | 02-MAR-2018 | HIGH
CHG1234 | ABC | 01-MAR-2018 | INC5679 | ABC | 02-MAR-2018 | HIGH
CHG1235 | ABC | 01-MAR-2018 | INC5678 | ABC | 02-MAR-2018 | HIGH
CHG1235 | ABC | 01-MAR-2018 | INC5679 | ABC | 02-MAR-2018 | HIGH
CHG1236 | DEF | 03-MAR-2018 | INC5680 | DEF | 03-MAR-2018 | HIGH
答案 0 :(得分:0)
我不确定我是否真的理解你的问题,因为我无法将主题与实际内容联系起来。仍在查看您的数据集,您可以尝试以下查询。解决方案非常直接。
SELECT CHG_NUM , CHG_APP , CHG_DATE , INC_NUM , INC_APP , INC_DATE , INC_SEV
FROM CHANGE C, INCIDENT I
WHERE C.CHG_DATE > SYSDATE - X -- x days put any number
AND C.CHG_APP = I.INC_APP
AND I.INC_DATE BETWEEN C.CHG_DATE AND C.CHG_DATE + Y -- Y days put any number
我希望我能正确理解你的问题。