Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql T-SQL右键联接到选定列中的所有条目_Tsql - Fatal编程技术网

Tsql T-SQL右键联接到选定列中的所有条目

Tsql T-SQL右键联接到选定列中的所有条目,tsql,Tsql,我有下面的查询,它生成下面的输出 SELECT TBLUSERS.USERID, TBLUSERS.ADusername, TBLACCESSLEVELS.ACCESSLEVELID, TBLACCESSLEVELS.AccessLevelName FROM TBLACCESSLEVELS INNER JOIN TBLACCESSRIGHTS ON TBLACCESSLEVELS.ACCESSLEVELID = TBLACCESSRIGHTS.A

我有下面的查询,它生成下面的输出

SELECT
    TBLUSERS.USERID,
    TBLUSERS.ADusername,
    TBLACCESSLEVELS.ACCESSLEVELID,
    TBLACCESSLEVELS.AccessLevelName
FROM
    TBLACCESSLEVELS INNER JOIN 
    TBLACCESSRIGHTS ON TBLACCESSLEVELS.ACCESSLEVELID = TBLACCESSRIGHTS.ACCESSLEVELID INNER JOIN
    TBLUSERS ON TBLACCESSRIGHTS.USERID = TBLUSERS.USERID
输出是这样的

29   administrator   1           AllUsers           
29   administrator   2   JobQueue                   
29   administrator   3   Telephone Directory Admin  
29   administrator   4   Jobqueueadmin              
29   administrator   5   UserAdmin                  
29   administrator   6   Product System             
27   alan            1   AllUsers                   
97   andy            1   AllUsers                   
26   barry           1   AllUsers                   
26   barry           2   JobQueue                   
26   barry           3   Telephone Directory Admin  
26   barry           4   Jobqueueadmin              
26   barry           5   UserAdmin                  
26   barry           6   Product System             
26   barry           7   Newseditor                 
26   barry           8   GreetingBoard              
我想做的是修改查询,以便获得所有访问级别,而不管该用户是否有条目。我还想做的是某种exist案例,这样我可以得到如下输出:

29    administrator   1       AllUsers                       True
29    administrator   2       JobQueue                       True
29    administrator   3       Telephone Directory Admin      True
29    administrator   4       Jobqueueadmin                  True
29    administrator   5       UserAdmin                      True
29    administrator   6       Product System                 True
29    administrator   7       Newseditor                     False
29    administrator   8       GreetingBoard                  False
27    alan            1       AllUsers                       True
27    alan            2       JobQueue                       False
27    alan            3       Telephone Directory Admin      False
27    alan            4       Jobqueueadmin                  False
27    alan            5       UserAdmin                      False
27    alan            6       Product System                 False
27    alan            7       Newseditor                     False
27    alan            8       GreetingBoard                  False
97    andy            1       AllUsers                       True
97    andy            2       JobQueue                       False
97    andy            3       Telephone Directory Admin      False
97    andy            4       Jobqueueadmin                  False
97    andy            5       UserAdmin                      False
97    andy            6       Product System                 False
97    andy            7       Newseditor                     False
97    andy            8       GreetingBoard                  False
26    Barry           1       AllUsers                       True
26    Barry           2       JobQueue                       True
26    Barry           3       Telephone Directory Admin      True
26    Barry           4       Jobqueueadmin                  True
26    Barry           5       UserAdmin                      True
26    Barry           6       Product System                 True
26    Barry           7       Newseditor                     True
26    Barry           8       GreetingBoard                  True

因此,规则总是显示AccessLevel的所有条目,并且ACCESSRIGHTS中存在的位置会生成一个true/false来显示这一点

我希望这是有意义的,希望您不需要表定义,因为我需要处理的所有内容都在原始查询中。我只需要一种方法来稍微操纵它,并在正确的位置获得连接

多谢各位。 步调

SELECT  u.USERID,
        u.ADusername,
        al.ACCESSLEVELID,
        al.AccessLevelName,
        CASE WHEN ar.accesslevelid IS NULL THEN 'False' ELSE 'True' END AS Access
FROM    tblusers u
CROSS JOIN
        tblaccesslevels al
LEFT JOIN
        tblaccessrights ar
ON      ar.ACCESSLEVELID = al.ACCESSLEVELID
        AND ar.USERID = u.USERID