你把res_contact.IsPrimary=1改为res_contact.IsPrimary='1'试试

解决方案 »

  1.   

    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    
      

  2.   

    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
     
    a公司             甲         1
    b公司      null       null