2013-09-21 34 views
0

我有一個稱爲聯繫人的地址簿。爲了幫助組織聯繫人,我有團隊(如家人,朋友,工作)。我想拉說,4或10個聯繫人的例子顯示爲每個組。這適用於列出所有組的組索引頁面,但不打算爲每個組提供完整的聯繫列表(僅限於專用組頁面)。當顯示所有聯繫人組時,MySQL顯示的聯繫人數量有限

組表和列

email_groups

idid_username

聯繫人表和列

email_contacts

idid_groupid_username

我一直在做這個,但我對c1得到一個錯誤的列名。

SELECT 
eg.id, 
eg.name, 
(SELECT c1.name FROM email_contacts AS c1 WHERE id_user='1' LIMIT 0,1) AS contact_1, 
(SELECT c2.name FROM email_contacts AS c1 WHERE id_user='1' LIMIT 1,1) AS contact_2, 
(SELECT c3.name FROM email_contacts AS c3 WHERE id_user='1' LIMIT 2,1) AS contact_3, 
(SELECT c4.name FROM email_contacts AS c4 WHERE id_user='1' LIMIT 3,1) AS contact_4 
FROM email_groups AS eg 
INNER JOIN email_contacts AS ec on ec.id=eg.id_group 

回答

0

你已經在你的子查詢我想這將是C2的第二子查詢提供別名C1兩次,你想選擇c2.name,但您所提供的別名爲c1SELECT c2.name FROM email_contacts AS C1

SELECT 
eg.id, 
eg.name, 
(SELECT c1.name FROM email_contacts AS c1 WHERE id_user='1' LIMIT 0,1) AS contact_1, 
(SELECT c2.name FROM email_contacts AS c2 WHERE id_user='1' LIMIT 1,1) AS contact_2, 
(SELECT c3.name FROM email_contacts AS c3 WHERE id_user='1' LIMIT 2,1) AS contact_3, 
(SELECT c4.name FROM email_contacts AS c4 WHERE id_user='1' LIMIT 3,1) AS contact_4 
FROM email_groups AS eg 
INNER JOIN email_contacts AS ec on ec.id=eg.id_group 
+1

啊,我確實能正常工作,但我錯過了那個錯誤,謝謝。 – John

+0

歡迎... :) –