Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL子查询-查找用户所在的房间,并查找房间中的其他人_Mysql - Fatal编程技术网

MySQL子查询-查找用户所在的房间,并查找房间中的其他人

MySQL子查询-查找用户所在的房间,并查找房间中的其他人,mysql,Mysql,我有一张简单的桌子,上面有用户和房间。一个用户可以在多个房间中,我想做的是在一个查询操作中查找用户所在的房间以及同一房间中的其他人 SELECT user, room FROM rooms WHERE user='foobar' 我可以简单地进行另一个查询,即从room='theroom'所在的rooms中选择用户,但是有没有办法减少MySQL查询并提供性能优势 您可以将rooms表本身连接起来: SELECT r1.user, r1.room, r2.user FROM rooms

我有一张简单的桌子,上面有用户和房间。一个用户可以在多个房间中,我想做的是在一个查询操作中查找用户所在的房间以及同一房间中的其他人

SELECT user, room FROM rooms WHERE user='foobar'
我可以简单地进行另一个查询,即从room='theroom'所在的rooms中选择用户,但是有没有办法减少MySQL查询并提供性能优势

您可以将rooms表本身连接起来:

SELECT r1.user, r1.room, r2.user 
FROM 
   rooms r1 JOIN rooms r2 ON r2.room = r1.room 
WHERE r1.user='foobar'AND r2.user != 'foobar'
这个怎么样:

SELECT r.user, r.room
  FROM rooms r JOIN rooms x ON r.room=x.room
  WHERE x.user='foobar';

在这种情况下,我认为您可以在查询中使用“In”子句

从房间中选择用户,其中房间位于从房间中选择房间,其中用户='foobar'