创建返回包含复杂SQL的表的Oracle视图或过程,是否可能以及如何



我已经研究了几种方法来尝试实现我想要的东西,但我不确定从哪里开始或获得我需要的东西的最佳方式是什么。 我玩过几种不同的技术,但不确定我能不能完成我需要的东西......

更改表

CHG_NUM | CHG_APP | CHG_DATE
CHG1234 | ABC | 01-MAR-2018
CHG1235 | ABC | 01-MAR-2018
CHG1236 | DEF | 03-MAR-2018

事件表

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 天内开始的所有事件,并获得如下所示的结果

结果

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

我不确定我是否真的理解了您的问题,因为我无法将主题主题与实际内容联系起来。仍在查看您的数据集,您可以尝试以下查询。解决方案非常简单。

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

我希望我正确理解了你的问题。

相关内容

  • 没有找到相关文章

最新更新