【发布时间】:2021-07-08 04:34:54
【问题描述】:
我正在使用 Oracle SQL,假设我有一个这样的表,其中包含项目各个阶段的开始日期和完成日期。
| Project No | STAGES | Start Date | completion date |
|---|---|---|---|
| PROJ_001 | 1 | 12-MAR-21 | 12-MAR-21 |
| PROJ_001 | 2 | 14-MAR-21 | 14-MAR-21 |
| PROJ_001 | 3 | 15-MAR-21 | 15-MAR-21 |
| PROJ_001 | 4 | 18-MAR-21 | 18-MAR-21 |
| PROJ_002 | 1 | 16-MAR-21 | 18-MAR-21 |
| PROJ_002 | 2 | 17-MAR-21 | 19-MAR-21 |
| PROJ_002 | 3 | 19-MAR-21 | 19-MAR-21 |
| PROJ_002 | 4 | 21-MAR-21 | 23-MAR-21 |
我需要将输出如下表所示。 对于阶段级别的输出,需要比较完成日期和开始日期 对于项目级别,需要检查项目的最后阶段(即第 4 阶段)
| Project No | STAGES | Start Date | completion date | Output 1 | output 2 project level |
|---|---|---|---|---|---|
| PROJ_001 | 1 | 12-MAR-21 | 12-MAR-21 | ON TIME | ON TIME |
| PROJ_001 | 2 | 14-MAR-21 | 14-MAR-21 | ON TIME | ON TIME |
| PROJ_001 | 3 | 15-MAR-21 | 15-MAR-21 | ON TIME | ON TIME |
| PROJ_001 | 4 | 18-MAR-21 | 18-MAR-21 | ON TIME | ON TIME |
| PROJ_002 | 1 | 16-MAR-21 | 18-MAR-21 | DELAYED | DELAYED |
| PROJ_002 | 2 | 17-MAR-21 | 19-MAR-21 | DELAYED | DELAYED |
| PROJ_002 | 3 | 19-MAR-21 | 19-MAR-21 | ON TIME | DELAYED |
| PROJ_002 | 4 | 21-MAR-21 | 23-MAR-21 | DELAYED | DELAYED |
谁能帮帮我?
【问题讨论】:
-
你的
Project No专栏真的很多地方都有空吗? -
您好 Tim,项目号没有任何 NULL 条目
-
那么,一个阶段在它开始的同一天就完成了?当表中的最后一个阶段准时(不管之前的任何阶段)时,项目就准时了,是吗?你走了多远?你被困在哪里了?请显示您到目前为止的查询。您在获取输出 1 时是否也遇到了问题,还是只有输出 2 您有困难?
标签: sql oracle oracle11g oracle10g