Alább összegyűjtöttünk pár PgSQL lekérdezést, amelyekkel a kategóriáinkról (taxonomy) nyerhetünk plusz információkat közvetlenül az adatbázisból.
1. Kategóriák listája (2 szintet mutat csak)SELECT v.name AS vocabulary, CASE WHEN t2.name IS NULL THEN t1.name ELSE t2.name END AS name, CASE WHEN t2.name IS NULL THEN '' ELSE t1.name END AS child FROM term_data t1 LEFT JOIN vocabulary v ON v.vid = t1.vid LEFT JOIN term_data t2 ON t2.tid = (SELECT parent FROM term_hierarchy WHERE tid = t1.tid) ORDER BY v.name, CASE WHEN t2.name IS NULL THEN t1.name ELSE t2.name END, CASE WHEN t2.name IS NULL THEN '' ELSE t1.name END
2. Kategóriák listája a hozzárendelt node-ok számával
SELECT v.name AS vocabulary, CASE WHEN t2.name IS NULL THEN t1.name ELSE t2.name END AS name, CASE WHEN t2.name IS NULL THEN '' ELSE t1.name END AS child, count(tn.tid) as node_count FROM term_data t1 LEFT JOIN vocabulary v ON v.vid = t1.vid LEFT JOIN term_data t2 ON t2.tid = (SELECT parent FROM term_hierarchy WHERE tid = t1.tid) LEFT JOIN term_node tn ON tn.tid = t1.tid GROUP BY v.name, t2.name, t1.name ORDER BY v.name, CASE WHEN t2.name IS NULL THEN t1.name ELSE t2.name END, CASE WHEN t2.name IS NULL THEN '' ELSE t1.name END