sql >> Databasteknik >  >> RDS >> Oracle

Dela upp tabellen i kolumner på olika nivåer

Något i stil med:

SELECT topsettlunit,
       settleunit,
       CONNECT_BY_ROOT( topsettlunit ) AS level1,
       CASE LEVEL
         WHEN 1 THEN settleunit
         WHEN 2 THEN topsettlunit
       END AS level2,
       CASE LEVEL
         WHEN 2 THEN settleunit
       END AS level3
FROM   your_table
START WITH topsettlunit NOT IN ( SELECT settleunit FROM your_table )
CONNECT BY PRIOR settleunit = topsettlunit;



  1. Postgres-frågan är mycket långsam med current_date::date istället för hårdkodat datum

  2. Android hämtar data från MySql-tabellen

  3. Kan inte installera mysql2 gem

  4. Konvertera decimaltid till timmar och minuter