我的数据库中有一个用户系统,我想添加添加好友的可能性。 用户必须能够:
所以我虽然这张表:
id_friend
id_user1
id_user2
id_user_sender
alias_user1 NULL
alias user2 NULL
status
message NULL
date_sent
date_accepted NULL
我要解释每个专栏:
然后,为了得到特定用户的所有朋友,我会这样做:
select id_user1, id_user2 from friends where id_user1 = $my_user_id or id_user2 = $my_user_id and status = 1;
然后我会丢弃与我相同的id_users,因此结果只包含我的朋友用户。但是要获得别名我不知道。可能有更多的桌子?
我认为我的设计错了......你有任何提示或建议吗?你能举个例子吗?
如果您需要更多信息,请通知我,我会修改帖子。
答案 0 :(得分:3)
我会做的一些事情:
要获取$ my_user_id的朋友的别名,您可以调用此查询
select case when id_user1=$my_user_id then alias_user2 else alias_user1 end
from friends
where id_user1=$my_user_id or id_user2=$my_user_id
答案 1 :(得分:0)
select id_user1, id_user2, alias_user2 from friends where id_user1 = $my_user_id or id_user2 = $my_user_id and status = 1;
也许这就是你要找的东西。