Why is this query selecting two of each record and how can I make it only select one?
I don't believe it's related to the JSON selection, but could be.
SELECT
note.*,
usr.first_name AS usr_first_name,
usr.last_name AS usr_last_name,
e.data->>('f' || lname.field_id::text) AS entry_last_name,
e.data->>('f' || fname.field_id::text) AS entry_first_name
FROM note
LEFT JOIN usr ON note.usr_id = usr.usr_id
LEFT JOIN entry AS e ON e.entry_id = note.entry_id
LEFT JOIN field AS lname ON (lname.section_id = e.section_id AND lname.type = 'name')
LEFT JOIN field AS fname ON (fname.section_id = e.section_id AND fname.type = 'first_name' AND fname.enabled = 1)
WHERE note.grp_id = 1 AND note.deleted = 0 ORDER BY note.date DESC
LIMIT 20
distinctdoes not fix the issue.