假設我有一個名爲contacts的MySQL表。它看起來是這樣的:MySQL在多對多關係中選擇數據(我認爲)
+----------+
|contacts |
+----------+
|id: int |
|name: vc |
|rank: int |
+----------+
的「等級」是一個外鍵映射到表稱爲行列,看起來是這樣的:
+--------+
|ranks |
+--------+
|id: int |
|name: vc|
+--------+
我做了一個SQL查詢,看起來像這樣,在希望,我會得到每個用戶的等級,但只給了我一個等級匹配的第一個用戶:
SELECT c.id, c.name, c.rank, r.name as rank_name FROM contacts c
INNER JOIN ranks r ON r.id=c.rank
在我看來,這將是正確的SQL語句獲取列表聯繫th還包含他們各自的等級名稱。但是,我只能收到每個等級的聯繫人,並且它始終是第一個聯繫人(如果按contact.id排序)。
任何解決方案?也許我錯過了一件完全太簡單的事情。我不知道。
謝謝!
編輯
每要求,這裏有一些行:
Table: ranks
id name
6 Primary
7 Secondary
10 Test
Table: contacts
id name rank
1 Joe 6
2 Jane 6
3 Mike 7
4 Adam 10
5 Edna 7
我已經用LIMIT 0,100完成了一個手動SQL查詢。這仍然不起作用。 – 2012-08-09 21:25:40