2016-06-17 70 views
0

在SQL Server树表2008下方喜欢:关系科查询

UserTbl:

UserID  UserName 
1   User1 
2   User2 
3   User3 

ActivityTbl:

ActivityID Activity 
1   A 
2   B 
3   C 

UserAccessTbl(关系司表):

UserID  Activity  Access 
1   A    True 
1   B    False 
2   C    True 

我想要一个用此结果查询:

UserID  Activity  Access 
1   A    True 
1   B    False 
1   C    Null 
2   A    Null 
2   B    Null 
2   C    True 
3   A    Null 
3   B    Null 
3   C    Null 

请你帮我做这件事吗? 我想用它来在我的.Net应用程序中执行用户访问设置。 坦克

+0

搜索上CROSS JOIN和尝试 – Ako

回答

1
  1. 加入UserTbl与使用交叉连接

    从UsertTbl交叉选择*加入ActivityTbl

https://technet.microsoft.com/en-us/library/ms190690%28v=sql.105%29.aspx

这将导致所有可能的数据集ActivityTbl用户和活动之间的组合。

  1. 使用“左连接”将前一个数据集与UserAccessTbl连接起来。

https://technet.microsoft.com/en-us/library/ms187518%28v=sql.105%29.aspx

(注:你能做到这一点的只有一个查询,只是加入了两件)

+0

这是非常容易的!谢谢你的帮助。 –

+0

欢迎您:) – RojoSam