SQL - 向管理员显示所有内容并仅向用户显示一个数据

时间:2016-05-02 16:33:02

标签: sql

修改:感谢prdp提示,但即使他们没有使用,我也需要显示所有特许经营权(只有管理员,用户才应该看到他们的)

我希望看到所有可用的特许经营作为管理员,但作为用户只有属于我的用户 我试过这个SQL查询:

declare @BusinessRules_UserName varchar(80)
set @BusinessRules_UserName = 
/*-------------------------*/ 'admin'
/*---------------------*/ -- 'itt@ittijuana.edu.mx'
SELECT EMP_RFC
FROM Empresa
WHERE EMP_RFC = ( SELECT EmpresaUser_Empresa
                  FROM EmpresaUser
                  WHERE EmpresaUser_Email IN ( SELECT UserName
                                         FROM aspnet_Users
                                         WHERE @BusinessRules_UserName = UserName or @BusinessRules_UserName = 'admin'
                                        ));

当我使用用户帐户搜索时,一切正常,但当我使用管理员帐户时,会显示:

  

Msg 512,Level 16,State 1,Line 147   子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。

请帮助

0 个答案:

没有答案