gpt4 book ai didi

sql - 删除重复的左外连接

转载 作者:行者123 更新时间:2023-12-04 15:10:59 24 4
gpt4 key购买 nike

我需要帮助来合并来 self 的 sql 查询的以下结果的 2 个重复行。

结果

Query Output

查询

SELECT DISTINCT
a.[LocationID],
a.[BuildingCode],
a.[LocationCode],
a.[LocationName],
c.UserName,
d.RoleName
FROM
[dbo].[Location] a
LEFT OUTER JOIN
[dbo].[UserLocation] b ON a.LocationID = b.LocationID
LEFT OUTER JOIN
[dbo].[User] c ON b.UserID = c.UserID AND c.RoleID = 2
LEFT OUTER JOIN
[dbo].[Role] d ON c.RoleID = d.RoleID

如果您可以看到有 2 行的 LocationId 为 3057,一行为 Role Admin,另一行为 NULL。我想合并它们并希望只显示一行 Role Admin。

感谢您关注此问题。

最佳答案

试试这个:

SELECT
a.[LocationID],
a.[BuildingCode],
a.[LocationCode],
a.[LocationName],
MAX(c.UserName) UserName,
MAX(d.RoleName ) RoleName
FROM
[dbo].[Location] a
LEFT OUTER JOIN
[dbo].[UserLocation] b ON a.LocationID = b.LocationID
LEFT OUTER JOIN
[dbo].[User] c ON b.UserID = c.UserID AND c.RoleID = 2
LEFT OUTER JOIN
[dbo].[Role] d ON c.RoleID = d.RoleID
GROUP BY
a.[LocationID],
a.[BuildingCode],
a.[LocationCode],
a.[LocationName]

关于sql - 删除重复的左外连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65204642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com