Oracle
 sql >> база данни >  >> RDS >> Oracle

Разделете таблицата на колони на различни нива

Нещо като:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java:ResultSet getString() се различава в различните среди

  2. Oracle 11g SQL - Замяна на NULLS с нула, когато заявката има PIVOT

  3. Функция NLS_COLLATION_NAME() в Oracle

  4. Как да стартирам група на SQL заявка по проблем?

  5. създайте персонализирана функция за разлика в датите, с изключение на почивните дни и празниците в oracle sql