Я пытаюсь написать запрос, в котором два разных UID должны искать имя ресурса для обоих, но отдельно.Поиск двух отображаемых имен с использованием одной таблицы по 1 уникальному присваиванию в таблицах SQL
Другими словами, для каждой задачи есть назначенные ресурсы и один менеджер статусов. Это преобразует в SQl в Assignment, уникальное для ресурса, но с тем же менеджером состояний. Однако нет, где в базе данных можно увидеть имя диспетчера статуса по заданному назначению.
У заданий есть доступный «TaskStatusManagerUID». Имя Диспетчера состояния можно определить, привязав его обратно к таблице MSP_EPMResource, где TaskStatusManagerUID = ResourceUID.
Уловка для моего отчета, я должен иметь возможность посмотреть ResourceUID и TaskstatusManagerUID и определить имена каждого из них с тем же назначением.
Хотя я был успешным с соединением для отображения имени для одного или другого, я не смог определить, как показать имя как для Resource, так и для TaskStatusManager.
Это пример того, что я пытаюсь показать (круглые скобки добавлены для удобства чтения):
(AssignmentUID) (Task Name) (Имя ресурса) (Task Manager Статус Имя)
Смотреть подробнее ниже:
Это код, который я работаю с, но не увенчались успехом:
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]
В настоящее время я получаю сообщение «Conversion failed при преобразовании из символьной строки в uniqueidentifier».
Хороший улов, но он все еще не работает.Теперь он говорит мне: «Недостаточно пространства результатов для преобразования значения uniqueidentifier в char». как с Convert, так и с Cast. Любые другие идеи? – abauman
Вместо преобразования/литья в char, конвертируйте оба значения в varchar или nvarchar, я отредактирую ответ соответствующим образом. –