我正在尝试编写一个查询,其中两个不同的 UID 需要分别查找两者的资源名称。
换句话说,对于每个任务,都分配有资源和一个状态管理器。这在 SQ1 中转换为分配,对资源是唯一的,但具有相同的状态管理器。但是,在数据库中的任何地方都无法看到给定分配的状态管理器名称。
该分配确实有“TaskStatusManagerUID”可用。状态管理器的名称可以通过将其绑定回 MSP_EPMResource 表来确定,其中 TaskStatusManagerUID = ResourceUID。
问题是,对于我的报告,我需要能够查看 ResourceUID和TaskstatusManagerUID 并确定同一分配中每个的名称。
虽然我已经成功地连接以显示其中一个或另一个的名称,但我无法确定如何同时显示 Resource 和 TaskStatusManager 的名称。
这是我要显示的示例(为便于阅读添加了括号):
(AssignmentUID) (任务名称) (资源名称) (任务状态管理器名称)
请参阅下面的更多信息:
这是我一直在使用的代码,但没有成功:
Select top 100
c.[assignmentuid],
a.[taskname],
c.[resourceuid],
b.[resourcename],
a.[taskstatusmanageruid],
d.[StatusManager]
from [PRJPROD_ProjectWebApp].[dbo].[MSP_EpmAssignment] c
join [PRJPROD_ProjectWebApp].[dbo].[MSP_EpmTask_UserView] a
on a.[TaskUID] = c.[TaskUID]
join [PRJPROD_ProjectWebApp].[dbo].[MSP_EpmResource] b
on b.[ResourceUID] = c.[ResourceUID]
join (select b.resourcename StatusManager
from [PRJPROD_ProjectWebApp].[dbo].[MSP_EpmResource] b) d
on d.[StatusManager] = a.[taskstatusmanageruid]
group by
c.[assignmentuid],
a.[taskname],
c.[resourceuid],
b.[resourcename],
a.[taskstatusmanageruid],
d.[StatusManager]
目前,我收到“从字符串转换为唯一标识符时转换失败。”