2013-10-03 41 views
0

比方说,我有两个表这样如何在SQL Server 2012中进行有条件的右连接?

enter image description here

现在我想要做的正确的加入Menu_TableMenu_access_Table

我想从Menu_Table获得所有行。

SELECT 
* 
FROM 
    Menu_Table 
RIGHT JOIN 
    Menu_Access_Table ON Menu_Table.menu_id = Menu_Access_Table.menu_id 
WHERE 
    Menu_Access_Table.user_id=11 

如果有user_id=11我还是想从Menu_Table得到所有行下没有进入!可能吗?我正在使用SQL Server 2012.

回答

5

如果要从Menu_Table获取所有行,您希望执行LEFT JOIN而不是RIGHT JOIN

你可以把在ON的附加条件:

SELECT * 
FROM Menu_Table 
LEFT JOIN Menu_Access_Table ON Menu_Table.menu_id = Menu_Access_Table.menu_id 
    AND Menu_Access_Table.user_id = 11