我試圖找到兩個用戶分開的聯盟(lid)。mysql select matching results
這裏是我的表:
表聯賽:
*id* lname
--------------
1 Hard C
3 Fun
5 Crazy
表匹配:
*userid* *lid*
-----------------
1 1
4 5
1 3
2 1
4 1
4 3
*是主鍵
match.lid
是外鍵leagues.id
(用戶不能不是同一聯盟的兩倍)
這裏是我到目前爲止(開始):
SELECT t1.lid, t2.lname
FROM match t1
JOIN leagues t2 on t1.lid = t2.id
到目前爲止,我設法連接兩個表,並獲得名字。我的最終目標是顯示lid
的其中兩個用戶是同一個聯賽的一部分,比方說userid
1和4
userid
1是lid
1和3
userid
4的成員是其成員lid
5,1和3
兩個用戶都在聯賽中滿足(lid
)1和3
所以我需要一個查詢,顯示僅在兩個用戶滿足的聯賽。就像這樣:
lid lname
--------------
1 Hard C
3 Fun
由於userid
1和4,在聯賽1和3相遇,結果應該顯示。我可以爲每個用戶運行兩個查詢,並檢查哪兩個用戶通過php會面,但我認爲運行一個查詢會更有效率。
簡單快速的查詢花費了0.0004秒 – user962449 2012-03-20 20:42:16