Skip to content

Instantly share code, notes, and snippets.

@mdoering
Last active March 3, 2017 22:03
Show Gist options
  • Save mdoering/0ffaac6435249a0db33c42afa2a1ce40 to your computer and use it in GitHub Desktop.
Save mdoering/0ffaac6435249a0db33c42afa2a1ce40 to your computer and use it in GitHub Desktop.
Create CLB v_nub_families view
-- header row:
-- id family status num_descendants accepted_key accepted order_key order class_key class phylum_key phylum kingdom_key kingdom
CREATE VIEW v_nub_families AS
SELECT f.id, fn.scientific_name as family, f.status, f.num_descendants,
a.id as accepted_key, an.scientific_name as accepted,
f.order_fk as order_key, orn.scientific_name as "order",
f.class_fk as class_key, cn.scientific_name as "class",
f.phylum_fk as phylum_key, pn.scientific_name as phylum,
f.kingdom_fk as kingdom_key, kn.scientific_name as kingdom
FROM name_usage f JOIN name fn ON f.name_fk=fn.id
LEFT JOIN name_usage a ON f.parent_fk=a.id AND f.is_synonym LEFT JOIN name an ON a.name_fk=an.id
LEFT JOIN name_usage o ON f.order_fk=o.id LEFT JOIN name orn ON o.name_fk=orn.id
LEFT JOIN name_usage c ON f.class_fk=c.id LEFT JOIN name cn ON c.name_fk=cn.id
LEFT JOIN name_usage p ON f.phylum_fk=p.id LEFT JOIN name pn ON p.name_fk=pn.id
LEFT JOIN name_usage k ON f.kingdom_fk=k.id LEFT JOIN name kn ON k.name_fk=kn.id
WHERE f.dataset_key=nubKey() AND f.deleted IS NULL AND f.rank='FAMILY';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment