sql >> Database >  >> RDS >> PostgreSQL

connect_by_root equivalent in postgres

U zou een recursieve algemene tabeluitdrukking gebruiken die de wortel eenvoudig door de recursieniveaus "draagt":

with recursive fg_tree as (
  select fg_id, 
         fg_id as fg_clasifier_id -- <<< this is the "root" 
  from fg
  where parent_fg_id is null -- <<< this is the "start with" part
  union all
  select c.fg_id, 
         p.fg_clasifier_id
  from fg c 
    join fg_tree p on p.fg_id = c.parent_fg_id -- <<< this is the "connect by" part
) 
select *
from fg_tree;

Meer details over recursieve algemene tabeluitdrukkingen in de handleiding:http:// www.postgresql.org/docs/current/static/queries-with.html




  1. MYSQL selecteer nieuwste berichten uit tabellen

  2. hoe de tabelnaam en een bepaalde kolomordinale positie in de hele database te krijgen

  3. SQL - Formulier in een database invoegen

  4. Kan ik een stream gebruiken om een ​​rij in SQL Server (C#) IN te VOEREN of BIJWERKEN?