我有像
这样的表格1)拥有主数据的用户
User ID Name OtherColumns 1 Banshi Nothing 2 Banshi2 Nothing 3 Banshi3 Nothing
2)第二个表“朋友”保存数据
ID UserID FriendID FriendCategory 1 1 2 2 2 2 1 2 3 4 1 2 4 1 4 2
3)第三表“订户”保存数据
ID SubscribersID SubscribToID FriendCategory 1 1 3 3 2 1 4 3
4)第四张表“FriendCategory”喜欢
ID Name 2 Friends 3 Subscribers
5)第五表“帖子”包含数据
PostID UserID Post 1 2 Hello Dear Post By Banshi2 2 3 Hello Dear Post By Banshi3 3 4 Hello Dear Post By Banshi4
现在成为用户1我需要数据 A)我需要数据,如果由我的朋友发布 B)如果我被订阅,我需要数据 c)如果用户是我的朋友订阅,那么它必须显示朋友而不是我订阅
UserID Name Post Category 2 Banshi2 Hello Dear Post By Banshi2 Friends 3 Banshi3 Hello Dear Post By Banshi3 I Am Subcriber 4 Banshi4 Hello Dear Post By Banshi4 Friends
请取消我如何在Sql Server 2008中获得这样的输出
先谢谢 板石
答案 0 :(得分:0)
我不确定你可以尝试这个并告诉我,
select u.userid,u.name,p.post,f.name from
User u join Friends fr on u.userid=fr.userid
join FriendCategory f on fr.FriendID=f.id
join Posts p on u.userid=p.userid
order by u.userid;
答案 1 :(得分:0)
如果朋友发布了数据
SELECT
u.UserID, u.Name , p.Post , fc.Name
FROM
users as u,
FriendCategory as fc,
Subscribers as s,
Friends as f,
Posts as p
WHERE
f.UserID=1
and fc.id=f.FriendCategory
and p.UserID = f.FriendID
group by fc.Name
您可以类似地将数据发送给我订阅。
c)如果用户是我的朋友订阅,那么它必须显示朋友 不是我订阅了
好吧,我没听懂你在这里说的话。