New to PostgreSQL, getting parent and child table data in a single query. The issue is if any one of the child table has null records, the whole query returns null.
SELECT r.resume_id,
r.resume_name,
r.updation_date,
edu.education_id,
edu.title,
edu.institute,
exp.experience_id,
exp.designation,
exp.company_name,
exp.start_date,
skill.skill_id,
skill.skill_name
FROM user_resume r,
user_education edu,
user_experience exp,
user_skill skill
WHERE edu.resume_id = r.resume_id AND
exp.resume_id = r.resume_id AND
skill.resume_id = r.resume_id AND
r.resume_id = 1592570
Here is my query in this case the given resume has no records in the experience table, in result it returns null, if I remove the join with experience table, then it returns records.
More in resume table, i have these Boolean
fields also, that are false if child table (experience, education or skill table
) has no related records.
education_missing, experience missing, skill missing
etc.
FROM user_resume r
,user_education edu
,user_experience exp
,user_skill skill
is left inner join - it is expected behaviour...
FROM user_resume r
LEFT OUTER JOIN user_education edu on COLUMNS
LEFT OUTER JOIN user_experience exp on COLUMNS
LEFT OUTER JOIN user_skill skill on COLUMNS
instead