Re: Hierarchical Query Question (PHP) - Mailing list pgsql-general

From Jason O'Donnell
Subject Re: Hierarchical Query Question (PHP)
Date
Msg-id CAOYeSOfR5-wDv4MaQ+wkuHtSCKCfy-ypKKT4XCa3=X_Lagv07Q@mail.gmail.com
Whole thread Raw
In response to Hierarchical Query Question (PHP)  (David Blomstrom <david.blomstrom@gmail.com>)
Responses Re: Hierarchical Query Question (PHP)  (David Blomstrom <david.blomstrom@gmail.com>)
List pgsql-general
David,

Does wrapping the transaction with BEGIN; COMMIT; work as you would expect?


$sql = "BEGIN; with recursive hier(taxon,parent_id) as (
  select m.taxon, null::integer
  from gz_life_mammals m
  where taxon='Mammalia' --<< substitute me
  union all
  select m.taxon, m.parent_id
  from hier, gz_life_mammals m
  where m.parent=hier.taxon
)
select tax_rank(parent_id),
       count(*) num_of_desc
from   hier
where  parent_id is not null
group by parent_id
order by parent_id; COMMIT;";

On Thu, Oct 29, 2015 at 8:18 PM, David Blomstrom <david.blomstrom@gmail.com> wrote:
Can anyone tell me how to write the query described @ http://stackoverflow.com/questions/33402831/count-descendants-in-hierarchical-query ?

The answer's very thorough, but I don't know how to string two queries and a function together like that. This doesn't work:

$sql = "select * from gz_life_mammals;";

create function tax_rank(id integer) returns text as $$
    select case id
             when 1 then 'Classes'
             when 2 then 'Orders'
             when 3 then 'Families'
             when 4 then 'Genera'
             when 5 then 'Species'
           end;
$$ language sql;

$sql = "with recursive hier(taxon,parent_id) as (
  select m.taxon, null::integer
  from gz_life_mammals m
  where taxon='Mammalia' --<< substitute me
  union all
  select m.taxon, m.parent_id
  from hier, gz_life_mammals m
  where m.parent=hier.taxon
)
select tax_rank(parent_id),
       count(*) num_of_desc
from   hier
where  parent_id is not null
group by parent_id
order by parent_id;";

Thanks.




--
Jason O'Donnell
Crunchy Data Solutions

pgsql-general by date:

Previous
From: Dane Foster
Date:
Subject: Re: mysql_fdw trouble
Next
From: Adrian Klaver
Date:
Subject: Re: mysql_fdw trouble