select res_company.*,res_company_employee.name from res_company left join res_company_employee on res_company_employee.companyid=res_company.id and res_company_employee.id in (select res_contact.employeeid from res_contact inner join res_company_employee on res_contact.employeeid=res_company_employee.id and res_contact.IsPrimary=1) 你试试这样行不? 结果为 companyname 联系人
a公司 甲 b公司 null
select res_company.*,res_company_employee.name from res_company left join res_company_employee on res_company_employee.companyid=res_company.id and res_company_employee.id in (select res_contact.employeeid from res_contact inner join res_company_employee on res_contact.employeeid=res_company_employee.id and res_contact.IsPrimary=1) left join res_contact on res_contact.employeeid=res_company_employee.id and res_contact.IsPrimary=1 我写的比较可笑,你看看有其他比较简单的方法没有? 这样就产生你要的结果了companyname 联系人 IsPrimary
from res_company
left join res_company_employee
on res_company_employee.companyid=res_company.id
and res_company_employee.id
in (select res_contact.employeeid
from res_contact inner join res_company_employee
on res_contact.employeeid=res_company_employee.id
and res_contact.IsPrimary=1)
你试试这样行不?
结果为
companyname 联系人
a公司 甲
b公司 null
from res_company
left join res_company_employee
on res_company_employee.companyid=res_company.id
and res_company_employee.id
in (select res_contact.employeeid
from res_contact inner join res_company_employee
on res_contact.employeeid=res_company_employee.id
and res_contact.IsPrimary=1)
left join res_contact
on res_contact.employeeid=res_company_employee.id
and res_contact.IsPrimary=1
我写的比较可笑,你看看有其他比较简单的方法没有?
这样就产生你要的结果了companyname 联系人 IsPrimary
a公司 甲 1
b公司 null null