How to Join multiple table without NULL value in MYSQL? -


i need query: there 3 tables named:

 1. comments (fields: id, uacc_id_fk , comment)              (values: 1, 5, comment)              (values:2, 10, hi im fine)   2. dogowner_profile (fields: uacc_id_fk,dpro_name,dpro_image)                      (values:5,jones,jones.jpg)    3. doglover_profile (fields:uacc_id_fk,dlpro_name,dlpro_image)                      (values:10,jeeva,jeeva.jpg) 

i need result like:

(fields: uacc_id_fk , comment , name , image) (values: 5, comment, jones, jones.jpg) (values: 10, hi i'm fine, jeeva, jeeva.jpg) 

but output getting like:

the query used here is:

  select comments . *         , dpro_name name        , dlpro_name name        , dpro_image image        , dlpro_image image     comments     left      join dogowner_profile        on comments.uacc_id_fk = dogowner_profile.dpro_uacc_id_fk     left      join doglover_profile        on comments.uacc_id_fk = doglover_profile.dlpro_uacc_id_fk 

but result got here is:

(fields:id,uacc_id_fk,comment,name,name,image,image) (values:1,5, comment,jones,null,jones.jpg,null) (values:2,10,hi i'm fine,null,jeeva,null,jeeva.jpg) 

if have multiple columns might contain data or might null, , want find first non-null one, use coalesce:

select     comments.*,     coalesce(dpro_name, dlpro_name) name,     coalesce(dpro_image, dlpro_image) image       comments      left join dogowner_profile on          comments.uacc_id_fk = dogowner_profile.dpro_uacc_id_fk      left join doglover_profile on          comments.uacc_id_fk = doglover_profile.dlpro_uacc_id_fk; 

Comments