【发布时间】:2025-11-27 07:40:02
【问题描述】:
假设我在 Oracle 中有这四个表:
+--------------------+----------------------+
| PROJECTS | PHASES |
+--------------------+----------------------+
| PROJECT_ID integer | PHASE_ID integer |
| | PROJECT_ID integer |
| | PHASE varchar2(50) |
| | WORKING_HOURS number |
+--------------------+----------------------+
+---------------------+-------------------------+
| TASKS | EMPLOYEES |
+---------------------+-------------------------+
| TASK_ID integer | EMPLOYEE_ID integer |
| PHASE_ID integer | FIRST_NAME varchar2(50) |
| EMPLOYEE_ID integer | LAST_NAME varchar2(50) |
+---------------------+-------------------------+
编辑 1。
project.project_id 是主键
phases.phase_id is主键
tasks.task_id is 一个主键
employess.employee_id 是主键
其他表对上述所有其他引用都是外键!
假设PHASES.PHASE 可以有值:alpha、beta、olympus、unicorn
我希望它返回一个特定 project_id(比如说 project_id=1)的列表,其中包含项目每个阶段的员工以及每个阶段的工作时间。
类似的东西(不完全是一个例子)
+----------------+----------------+----------------+----------------+--+
| alpha | beta | olympus | unicorn | |
+----------------+----------------+----------------+----------------+--+
| name1 surname1 | name2 surname2 | name1 surname1 | name4 surname4 | |
| name2 surname2 | name4 surname4 | name2 surname2 | | |
| name3 surname3 | | name4 surname4 | | |
| name4 surname4 | | | | |
| 15 | 240 | 13 | 300 | |
+----------------+----------------+----------------+----------------+--+
似乎无法弄清楚。
感谢您的帮助!
【问题讨论】:
-
是的,我的错误标签!