来自资源类型和部门的团队经理 ID

时间:2021-04-01 16:39:11

标签: sql-server

我正在尝试按部门在我的查询中获取所有资源的 ExternalID TeamManager2。 我不认为这是不可能的,但我被卡住了。 提前致谢

查询:

SELECT
    T3.DeptGenius,
    T1.ResourceType,
    T1.ExternalID,
    T1.OfficeLocation,
    '' as 'ExternalIDTeamManager2'
FROM
    GEN_Resources T1
    INNER JOIN Ref_Resources T2 ON T1.ExternalID = T2.Unic_ID
    INNER JOIN Ref_BU T3 ON T2.BU_Unid = T3.UNID
WHERE
    T1.Active = 'YES'

查询的实际结果:

enter image description here

预期结果:

enter image description here 逻辑是每个部门只有一个 Manager2 (deptGenius)。

部门名单如下: SOU、HR、FICO、CMU

ExternalID 必须是部门的一部分,并且有一个资源类型。

如果其ResourceType与Manager2不同,我希望Team Manager 2的ExternalID列显示其DeptGenius的Manager2的ExternalID值。

这对你有意义吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,这就是你需要的:

SELECT
    T3.DeptGenius,
    T1.ResourceType,
    T1.ExternalID,
    T1.OfficeLocation,
    m2.ExternalID as 'ExternalIDTeamManager2'
FROM
    GEN_Resources T1
INNER JOIN Ref_Resources T2 ON T1.ExternalID = T2.Unic_ID
INNER JOIN Ref_BU T3 ON T2.BU_Unid = T3.UNID
LEFT JOIN FEN_Resources m2 
    ON m2.resourcetype like 'Manager 2%'
    AND T1.resourcetype not like 'Manager 2%'
INNER JOIN Ref_Resources m2_2 ON m2.ExternalID = m2_2.Unic_ID
INNER JOIN Ref_BU m2_3 
    ON m2_2.BU_Unid = m2_3.UNID
    AND T3.DeptGenius = m2_3.DeptGenius
WHERE
    T1.Active = 'YES'
相关问题