2017-02-28 35 views
-1

我有一個名爲ChatParticipants表,它具有以下的列: chatId(INT - 指數), 用戶ID(INT - 指數)MYSQL - 查找共享同一指數的兩行

+-----------------------------+------------------------------+ | userId | chatId | +------------------------------------------------------------+ | 5 | 98 | +------------------------------------------------------------+ | 10 | 98 | +-----------------------------+------------------------------+

除了前者之外,還有聊天桌。我想知道如果我(id:5)和我的朋友(id:6)我想知道是否我(id:5)和我的朋友(id:6)如果我是id爲5的用戶, )一起參加一個聊天,那個查詢可能怎麼做?

+1

後的樣本數據和預期的輸出。 – GurV

+0

@ObsidianAge不知道如何解決這個問題。我能想到的唯一方法是最壞的做法 - 迭代所有用戶聊天,並查找是否兩個用戶都在foreach內部通過foreach進行了常見聊天。我確信必須有一個優雅的方法,使用單個查詢 – matt4692

+0

@GurV預期的輸出可能是用戶之間的公共聊天ID – matt4692

回答

1
SELECT u1.chatId 
FROM 
    ChatParticipants u1, 
    ChatParticipants u2 
WHERE u1.userId = 5 
    AND u2.userId = 6 
    AND u1.chatId = u2.chatId 

這裏測試:http://sqlfiddle.com/#!9/6bc431/1

+0

正是我所期待的!非常感謝! – matt4692