我有一个表友谊系统connections
。的列有:MySQL作为一个单一的俱乐部两行
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
对B
可以有0.95的喜好。并且B
对于A
可能只有0.25
。
忽略这最后一部分你想要求或接受朋友吗?或两者?和btw为什么要添加另一行?为什么你不能设置状态像request = pending,当另一个接受更新时,太接受 –
接受的朋友。 – kapeels
@ Mr.Alien问题已更新。 – kapeels