SQL JOIN和WHERE在此方案中不起作用

时间:2015-06-01 15:13:29

标签: c# sql join

我正在编写一个SQL查询,以便人们从表A 发布图片,如果他们是表B中的朋友

  

1)从表A中获取所有帖子

     

2)检查表B中是否列出了UserID

     

3)从表A返回结果

这就是我的尝试:

* user = me in this scenario,FriendID是另一个人

Select * from ActivityTable JOIN FriendsTable ON ActivityTable.UserID=FriendsTable.FriendID WHERE FriendsTable.UserID='" + user + "'"

FriendsTable列:id,UserID,FriendID

ActivityTable列:id,UserID,Content

因此,如果Mary在FriendID列中列为我的朋友,并且我列在UserID列中,从表A中获取Mary的所有活动。(对于每个朋友,依此类推等等) )

示例数据:

id:2412

UserID:Roger

FriendID:Emily

活动样本数据:

id:23523

UserID:Emily

内容:你好

因此,将Emily作为UserID的行返回,因为Emily被列为好友

2 个答案:

答案 0 :(得分:0)

试试这个:

declare @uid nvarchar(25) = 'Roger'

select a.* from ActivityTable a inner join FriendsTable f
  on a.UserID = f.FriendID
where f.UserID = @uid

答案 1 :(得分:0)

声明@user nvarchar(50)=' Roger'

从ActivityTable中选择act。*行为JOIN FriendsTable fr ON act.UserID = fr.FriendID WHERE fr.UserID ='" + @user +"'"