可能重复:
我的 SQL 查询需要帮助
好吧,我之前可能也发布了这个,但是我的要求发生了一些变化,所以请帮助我完成这个。
我的数据库结构:
ATT(Activity
表)
- Act_ID(PK)
- Assigned_To_ID (FK, 参考
Emp_ID
) - Project_ID (FK, 参考
Project_ID
) - Product_ID (FK, 参考
Product_ID
) - 状态(可以
New, OnHold, Cancel, Closed
)
产品_桌子
- Product_ID (PK)
- 产品名称
项目表
- Project_ID (PK)
- 项目名称
Employee_Table
- Emp_ID (PK)
- F_名称。
Emp_Product_Project_Mapping
(此表基本上映射了将哪个员工分配到哪个产品和哪个项目。在所有 3 列中都允许重复输入,以映射可以将 1 个员工分配到多个项目或产品)
- Emp_IDFK(FK 指 Emp_ID PK)
- Product_IDFK(FK 指 Product_ID PK)
- Project_IDFK(FK 指 Project_ID PK)
约束
- In 1 Project --> 多个员工可以工作
- 1 位员工 --> 可以分配多个活动 (
Act_ID
) - 在任何给定时间点都
Status
可以是那些给定值中的任何一个。 - 在任何给定点,一项活动都可以分配给 1 个产品和 1 个项目。
现在在我的 SQL 查询中,我想做的是负载检查::
活动(由 表示Act_ID
)分配给员工,由 表示Assigned_To_ID
,对于项目(Project_ID
in ATT_Table
),对于产品(Product_ID
in ATT_table
)和特定状态。我需要从我的 SQL 查询中输出 5 个值:
- 雇员的名字
- 产品名称
- 为该产品(在 2 中)分配的总活动数,其中状态为 New 或 InProcess。(在这里,我正在计算与产品(在 2 中)相关的所有活动。无论它被分配给谁。它与员工无关(在 1 中。我想要在我的第 4 部分)。
- 现在,我想要员工(1)分配到的活动计数(在我从(3)获得的总计数中)。希望我让自己清楚。第三个是分配给产品的总活动(在 2 中)。在第 4 次,我的第 3 次结果中的活动被分配给第 1 次的员工。
- 加载。那将是 = (Result in 3)/(result in 4) * 100 ((Result in 3) 是比 (result in 4) 更大的值,这很明显。)
现在可能有一个条件,一个员工假设 E1 正在开发产品 P1,P2。所以我的表输出将如下所示:
1 2 3 4 5
E1 P1
E1 P2
因此,这里 3、4、5 将具有与该产品(P1 或 P2)的活动相对应的值
请帮我解决这个问题。使用 MSaccess 数据库。谢谢..