我在mysql
中有两个表格。第一个拥有公司,第二个拥有为这些公司工作的联系人。
有些公司没有联系人,有几个联系人可以为一家公司工作,但没有公司就没有联系。
表格如下:
公司表
company_id
company_name
company_telephone
联系表
contact_id
works_for_company_id
contact_fullname
contact_telephone
我正在尝试将两个表与一个select语句组合,以便为每个条目创建电话号码列表,例如: G。一个有两个联系人的公司会产生三个条目,每个条目都有一行中的公司名称和电话号码。
我尝试了JOIN语句,这些语句都显示了联系人,但没有显示其背后的公司,我尝试了UNION(由于列名不同而无法工作)。我还缺少什么?任何帮助将不胜感激。
答案 0 :(得分:1)
你将join和union结合起来 - 但是你必须重命名不同名称的列(通过<a [mdMenuTriggerFor]="appMenu">Menu</a>
<md-menu #appMenu="mdMenu">
<button md-menu-item> Item1 </button>
<button md-menu-item> Item2 </button>
<button md-menu-item> Item3 </button>
</md-menu>
):
AS
答案 1 :(得分:0)
您需要的只是直接加入以获取所有细节。您可以用相关的列名替换*:
SELECT *
FROM CONTACTS_TABLE con
JOIN COMPANY_TABLE cta ON cta.company_id = con.works_for_company_id
答案 2 :(得分:0)
正如人们在之前的评论中告诉你的那样,你需要一个加入/内部联接
npm install react-test-renderer@15.6.1 --save --only=dev
答案 3 :(得分:0)
每个SELECT语句中的列也必须采用相同的顺序
SELECT company
。company_name
,company
。company_telephone
来自company
WHERE company.company_id
= 1
联盟
选择contact
。contact_fullname
,contact
。contact_fullname
来自company
加入contact
company
。company_id
= contact
。works_for_company_id
在company
。company_id
= 1
限制0,30
答案 4 :(得分:0)
有些公司没有联系人所以你需要使用LEFT JOIN
SELECT com.company_name,com.telephone ,com.company_id, con.contact_fullname
FROM company com
LEFT JOIN contacts con ON com.company_id = con.works_for_company_id;