簡體   English   中英

如何訪問子選擇中的外部列

[英]How do I Access an outer column within subselect

我正在嘗試獲取所有公司的列表以及與該公司鏈接的相應聯系人。 為了爭辯,我假設每個公司只有一個聯系人。 我正在嘗試使用以下內容:

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”

我幾乎嘗試過對列本身和表進行別名的所有變體,但整個上午都沒有運氣。 有任何想法嗎?

謝謝

為什么不做:

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

您可以將電子郵件添加到代碼中(如果聯系人表中有電子郵件)

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

這里的電子郵件是字段名稱,如果您為電子郵件值使用其他字段名稱,則可以更改它

做這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM