Skip to content

Instantly share code, notes, and snippets.

@pioh
Created May 25, 2019 18:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pioh/f5a749f6fec6c0d7b34d70b1a01e9893 to your computer and use it in GitHub Desktop.
Save pioh/f5a749f6fec6c0d7b34d70b1a01e9893 to your computer and use it in GitHub Desktop.
merge lang sql
SELECT u.id,
ut.tags,
COALESCE(NULLIF(l1.first_name, ''), NULLIF(l2.first_name, ''), NULLIF(l3.first_name, '')) AS first_name,
COALESCE(NULLIF(l1.last_name, ''), NULLIF(l2.last_name, ''), NULLIF(l3.last_name, '')) AS last_name,
COALESCE(NULLIF(l1.middle_name, ''), NULLIF(l2.middle_name, ''), NULLIF(l3.middle_name, '')) AS middle_name
FROM user u
LEFT JOIN (SELECT user_id, array_agg(tag) AS tags
FROM user_tag
WHERE user_id = 6
GROUP BY user_id) ut
ON u.id = ut.user_id
LEFT JOIN user_i18n l1 ON u.id = l1.id AND l1.lang = 'RU'
LEFT JOIN user_i18n l2 ON u.id = l2.id AND l2.lang = 'RU_AUTO'
LEFT JOIN user_i18n l3 ON u.id = l3.id AND l3.lang = 'EN'
WHERE u.id = 6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment