我正在编写一个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被列为好友
答案 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 +"'"