0

嗨,我正在尝试获取用户 ID、名称、密码及其权限,但它多次列出用户名、ID、密码如何获取用户名、ID、密码及其权限我的查询是,

Select U.User_Id,U.User_Name,U.User_Password, PL.PermissionName   from [Inspection].[dbo].[User] U

 right join [Inspection].[dbo].[UsersPermission] UP 

 on U.User_Id=UP.User_Id inner join  PermissionsList PL

 on up.PermissionID=PL.PermissionID 

  where U.User_Id='2';

结果是,

User_Id User_Name   User_Password   PermissionName
2     John            123456    View
2     John            123456    Insert

希望您的建议提前感谢!

4

2 回答 2

2
Select U.User_Id,U.User_Name,U.User_Password
,[permissions]=
STUFF((SELECT ', ' + PermissionName 
    FROM [UsersPermission] iup
    inner join  PermissionsList iPL on iup.PermissionID=iPL.PermissionID         
    WHERE iup.User_Id = u.User_Id  
    order by  PermissionName  
    FOR XML PATH('')), 1, 1, '') 
from [User] U
where U.User_Id='2';

SQL小提琴

于 2013-05-07T09:50:24.820 回答
0

有2个解决方案:

  1. 运行 2 个单独的查询。一个用于用户详细信息,第二个用于他的权限。
  2. 处理您已有的查询。

这就是 SQL 的工作方式。

于 2013-05-07T09:22:23.490 回答