I faced a situation where I got duplicate values from LEFT JOIN. I think this might be a desired behavior but unlike from what I want.
I have three tabl
Use this type of query: SQL Server
(You can change id of ORDER BY id to each column that you want it)
SELECT
p.id,
p.person_name,
d.department_name,
c.phone_number
FROM
person p
LEFT JOIN
(SELECT *, ROW_NUMBER() OVER (PARTITION BY person_id ORDER BY id) AS seq
FROM department) d
ON d.person_id = p.id And d.seq = 1
LEFT JOIN
( SELECT *, ROW_NUMBER() OVER (PARTITION BY person_id ORDER BY id) AS seq
FROM contact) c
ON c.person_id = p.id And c.seq = 1;