好的,这有点难以解释,但可以很容易实现。
我有一个具有以下结构的表:
`match_id` int(69) NOT NULL auto_increment,
`event_id` int(6) NOT NULL,
`users_id` int(6) NOT NULL,
`matches` int(6) default NULL
所以这是数据样本
33 11 54 1221
32 11 54 21
31 11 21 54
30 11 43 54
因此,用英语来说,这是需要发生的事情:
这是个人选择图表,其中user1选择user2,反之亦然。我只需要在相互选择的地方使用USERS_ID。
如果我要查找匹配项= 54,则需要获取users_id = 21。因为54匹配21,而21匹配54。
关于如何为此编写SQL语句的任何想法?
非常感谢。
布鲁诺。
最佳答案
尝试这个:
SELECT DISTINCT a.user_id
FROM <YOUR_TABLE> a INNER JOIN <YOUR_TABLE> b
ON a.matches = b.users_id
AND b.matches = a.users_id
WHERE a.matches = 54
关于mysql - 在MySQL中选择匹配/相互记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5505244/