好的,这有点难以解释,但可以很容易实现。

我有一个具有以下结构的表:

`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/

10-13 23:10