我有一张要求connections
建立友谊系统的桌子。这些列是:
id
, from
, to
, direction
,liking
每当用户发送好友请求时,都会添加一行并将方向设置为 1(1 表示正向,2 表示反向)。当其他用户接受好友请求时,将添加另一行并将方向设置为 2。
我试图找出一种方法来获得用户的朋友。但是当我执行以下查询时,行会重复。
SELECT
`users`.`name`,`users`.`id`
FROM
`connections`,
`users`
WHERE
(
`connections`.`from` = 1234 AND
`connections`.`to` = `users`.`id` AND
`connections`.`direction` = 1
)
OR
(
`connections`.`to` = 1234 AND
`connections`.`from` = `users`.`id` AND
`connections`.`direction` = 2
)
如何修改此查询以包含行不重复?
更新:我要添加两行,因为有一列liking
。对于“不同的用户连接”,这个值是不同的。
示例 -A
可以有 0.95 的喜好B
。并且B
可以喜欢只是0.25
为了A
。