2013-09-21 2 views
0

У меня есть адресная книга, называемая контактами. Для организации контактов у меня есть группы (например, семья, друзья, работа). Я хочу сказать, 4 или 10 примеров контактов для отображения для каждой группы. Это предназначено для групповой индексной страницы, где перечислены все группы, но не предназначена для того, чтобы иметь полный список контактов для каждой группы (то есть только для выделенной группы групп).MySQL показывает ограниченное количество контактов при отображении всех контактных групп

Группы Таблица и столбцы

email_groups

id, id_user, name

Контакты Стол и Колонны

email_contacts

id, id_group, id_user, name

Я работаю над этим, но я получаю неправильное имя столбца для 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

Вы предоставили псевдоним C1 дважды в ваших подзапросов я думаю, было бы C2 для второго подзапроса, вы пытаетесь выбрать c2.name, но вы при условии, что псевдоним в качестве c1SELECT, FROM c2.name 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

Вы приветствуете ... :) –

Смежные вопросы