2个表左右链接会写,但如果是多表查询,其中有2个表是有左链接关系该怎么写啊select if( f.checked=1,'Y','N') as checkjob,f.USER_NAME,r.TOTAL_FLY_HOURS,d.VALUE_CODE as country,
GROUP_CONCAT(v.VALUE_CODE) as airtype from fly_user f,resume_pilot r,resume_jet_time j ,dict_value d,dict_value v
where f.USER_ID=r.USER_ID and r.PILOT_RESUME_ID=j.pilot_resume_id and r.COUNTRY=d.VALUE_ID 
and j.aircraft_type=v.VALUE_ID and f.user_name like '%aaa%'  group by j.pilot_resume_id order by USER_NAME 其中resume_pilot r,resume_jet_time j 有左链接关系,J可能有NULL,网上搜了很多都是2个表的,多个表就不知道了,谢谢

解决方案 »

  1.   

    你用的是内连接,左连接是LEFT JOIN
    Select if( f.checked=1,'Y','N') as checkjob,f.USER_NAME,r.TOTAL_FLY_HOURS,d.VALUE_CODE as country,
    GROUP_CONCAT(v.VALUE_CODE) as airtype from fly_user f
    LEFT JOIN resume_pilot r ON f.USER_ID=r.USER_ID
    LEFT JOIN resume_jet_time j ON r.PILOT_RESUME_ID=j.pilot_resume_id
    LEFT JOIN dict_value v ON j.aircraft_type=v.VALUE_ID
    where f.user_name like '%aaa%'  
    group by j.pilot_resume_id order by USER_NAME dict_value没有用到?
      

  2.   

    为什么每个连接都加LEFT JOIN ?我想只是有左联界关系2个表加就可以了吧
      

  3.   

    select id ,name from t1 left join (select id ,name from table) t2 on t1.id=t2.id left join (select id,name from table1)t3 on t1.id=t3.id