2013-04-15 37 views
0

我有一個簡單的表格,包含用戶和房間。用戶可以在多個房間中,我想要做的是查找用戶所在的房間,以及在一次查詢操作中同一房間中的其他人。MySQL子查詢 - 查找用戶所在的房間,並查找房間中的其他人

SELECT user, room FROM rooms WHERE user='foobar' 

我可以簡單地有另一查詢後,也就是SELECT user FROM rooms WHERE room='theroom',但有什麼辦法,以減少對MySQL的查詢,並提供性能優勢?

回答

1

你可以在自己參加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' 
0

如何:

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

在這種情況下,我想在您查詢,您可以使用 'IN' 條款.....

從房間中選擇用戶(房間中的用戶='foobar');