帮助用户关系

时间:2011-04-02 15:53:19

标签: c# asp.net mysql sql html

伙计们回到我的桌面上我的sql布局,我似乎无法理解如何做到这一点。

我需要用户能够与其他用户成为朋友(用户保存在用户表中)我试图创建一个“朋友”表,以便他们可以相互联系。

我需要将UserID与FriendID一起存储,UserID是当前用户,而FriendID与朋友的UserID相关。 ARGh如此令人困惑。

我迷失了,甚至再次谈论它,基本上我编写代码的方式我需要FriendID与用户表的UserID相关联,所以我可以找到我的人,所以我可以显示当前的凭据“ UserID“页面,但我还需要一些方法来找出所有当前的UserIDs朋友

UserID与所有当前朋友(FriendID)相关 FriendID与用户表(UserID)中的用户相关

到目前为止,我所拥有的只是这一点。如何将FriendID引用回UserID?如果那就是顺便说一句。

enter image description here

1 个答案:

答案 0 :(得分:2)

这实际上是UserA(发起用户)和UserB(目标用户)之间的许多关系,您需要一个将两者关联起来的IsFriendsWith表,例如

User
-------------
UserID [PK]
Name
etc,

IsFriendsWith
-------------
InitiatingUserID [FK]
TargetUserID [FK]

因此,您可以使用此功能查找(对于任何发起用户)他们是谁的朋友,以及与他们交朋友的任何目标用户。

编辑 - 我是SQL Server用户,但是以下查询(或接近它的内容)应该在mysql中工作,以便列出其ID在参数@UserID

SELECT u2.Name FROM Users u1
    INNER JOIN IsFriendsWith ifw ON u1.UserID = ifw.InitiatingUserID
    INNER JOIN Users u2 ON u2.UserID = ifw.TargetUserID
    WHERE u1.UserID = @UserID