sql >> Databáze >  >> RDS >> Oracle

Rozdělte tabulku do sloupců různých úrovní

Něco jako:

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. Chyba při aktualizaci dat MySQL prostřednictvím PHP

  2. SQL:vyhledat/nahradit, ale pouze při prvním zobrazení hodnoty v záznamu

  3. MySQL Neplatná výchozí hodnota pro časové razítko, když není zadána žádná výchozí hodnota.

  4. Agregace dat