MySQL在显示所有联系人组时显示有限数量的联系人
我有一本称为联系人的通讯录。为了帮助组织联系人,我有一些小组(例如家庭、朋友、工作)。我想为每组显示4或10个联系人示例。这适用于列出所有组的组索引页面,但不适用于每个组的联系人完整列表(仅适用于专用组页面) 分组表和列MySQL在显示所有联系人组时显示有限数量的联系人,mysql,Mysql,我有一本称为联系人的通讯录。为了帮助组织联系人,我有一些小组(例如家庭、朋友、工作)。我想为每组显示4或10个联系人示例。这适用于列出所有组的组索引页面,但不适用于每个组的联系人完整列表(仅适用于专用组页面) 分组表和列 电子邮件组 id,id\u用户,name 联系人表和列 email\u联系人 id,id\u组,id\u用户,名称 我一直在做这件事,但是得到了一个错误的c1列名 SELECT eg.id, eg.name, (SELECT c1.name FROM email_cont
电子邮件组
id
,id\u用户
,name
联系人表和列
email\u联系人
id
,id\u组
,id\u用户
,名称
我一直在做这件事,但是得到了一个错误的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
您在子查询中提供了两次别名
C1
,我想第二个子查询应该是C2
,您正在尝试选择C2.name
,但您提供的别名是C1
从电子邮件联系人中选择C2.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 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
啊,我确实让它正常工作了,但是我错过了那个错误,谢谢。