0

我正在尝试获取与公司相关联的相应联系人的所有公司的列表。为了争论起见,我假设每个公司只有一个联系人。我正在尝试使用以下内容:

SELECT companies.id as company_id, contacts.name, contacts.email
FROM  companies, (SELECT * FROM contacts WHERE companyId = company_id LIMIT 1) as contacts

但我收到了这个错误:

1054 - “where 子句”中的未知列“company_id”

我已经尝试了几乎所有对列本身和表格进行别名的变体,但整个早上都没有运气。有任何想法吗?

谢谢

4

2 回答 2

0

如果联系人表中存在电子邮件,您可以将电子邮件添加到您的代码中

 SELECT comp.id as company_id, 
  (SELECT name,email FROM contacts WHERE comp.Id = company_id LIMIT 1) FROM  companies comp

这里 email 是字段名称 如果您有不同的字段名称作为电子邮件值,您可以更改它

做这个

    SELECT comp.id as company_id, SELECT name,email FROM contacts WHERE comp.Id = company_id LIMIT 1 FROM  companies comp
于 2013-08-12T10:42:58.967 回答
0

为什么不这样做:

SELECT cmp.id as company_id, 
      (SELECT name FROM contacts WHERE cmp.Id = company_id LIMIT 1)
FROM  companies cmp
于 2013-08-12T10:07:52.580 回答