我有一個user_to_room表檢查2個用戶在同一個房間裏與MySQL
roomID | userID
我現在要檢查,如果用戶是在同一個房間
SELECT roomID
FROM room_to_user
WHERE userID = 1 AND 2
如何實現這與一個JOIN?
我有一個user_to_room表檢查2個用戶在同一個房間裏與MySQL
roomID | userID
我現在要檢查,如果用戶是在同一個房間
SELECT roomID
FROM room_to_user
WHERE userID = 1 AND 2
如何實現這與一個JOIN?
做一個自我聯接:
SELECT DISTINCT u1.roomID AS roomID
FROM user_to_room u1, user_to_room u2
WHERE u1.userID = 1 AND u2.userID = 2
AND u1.roomID = u2.roomID;
見demo。
您還可以在下面的查詢:
CREATE TABLE user_to_room (roomID INT, userID INT);
INSERT INTO user_to_room VALUES (101, 2);
INSERT INTO user_to_room VALUES (102, 3);
INSERT INTO user_to_room VALUES (102, 4);
select distinct roomid
from user_to_room a where exists
(select top 1 1 from user_to_room where roomid = a.roomid and userid =3)
and userid = 4
檢查這裏
我必須在哪裏放入我的2個用戶ID? – Chris 2013-05-12 20:03:06
我想你讓我錯了。我需要獲得兩個給定用戶的roomID。現在它只是返回所有roomID與多個用戶? – Chris 2013-05-12 20:06:42
@Chris你的問題沒有明確說明你想爲兩個特定用戶使用roomid。你問「2個用戶是否在同一個房間」。 – 2013-05-12 20:09:30