【发布时间】:2020-07-10 03:51:03
【问题描述】:
鉴于以下 ADuser 表:
AD Group UserID
Group1 User1
Group2 User2
Group3 User1
Group3 User3
和Group_Access表:
AD Group Org Codes
Group1 M500_ABC|1098|123_KL|Z45557|f908L_P|234G|
Group2 123_KL|Z45557|f908L_P|
Group3 12345|
我如何将它们合并到一个视图中,以便我们最终得到这样的结果,其中组织代码组合在 1 个匹配的用户 ID 下?
UserID Org Codes
User1 M500_ABC|1098|123_KL|Z45557|f908L_P|234G|12345|
User2 123_KL|Z45557|f908L_P|
User3 12345|
请注意,由于 User1 属于多个组,即 Group1 和 Group3,因此 user1 的这 2 个组中的所有组织代码在最终视图中合并为 1,附加额外的 12345| 组织代码
到目前为止我尝试了什么:
CREATE VIEW UserOrgCodesView
AS SELECT ADuser.UserID, Group_Access.[Org Codes]
FROM ADuser
INNER JOIN Group_Access ON ADuser.[AD Group]=Group_Access.[AD Group];
但这已经在下面产生了
UserID Org Codes
User1 M500_ABC|1098|123_KL|Z45557|f908L_P|234G|12345|
User2 123_KL|Z45557|f908L_P|
User1 12345|
User3 12345|
【问题讨论】:
-
@DaleK 我更新了帖子
-
连接无效,因为
AD Group列具有不同的格式 -Group1和AD_Group1无法在未经操作的情况下连接。 -
@AlwaysLearning 哦,天哪,你说得对。我犯了一个严重的错误哈哈。现在我得到了一些回报,但是,我不知道如何将同一个用户合并到一个组织代码行中。请检查更新的帖子
标签: sql-server sql-server-2017