2017-07-04 3 views
0

Ich habe eine Anforderung, die Daten basierend auf der Ebene in 3 verschiedenen Spalten zu teilen. In der folgenden Tabelle ist SU_DC_1 die oberste Ebene, die auf der Spalte SETTLEUNIT basiert. Ich muss die Ebene hinzufügen.Geteilte Tabelle in verschiedene Ebenen Spalten

Parent: TOPSETTLUNIT Kind: SETTLEUNIT

auf Kinder Basierend Ich brauche drei zusätzliche Spalten erstellen

Input Table

In der obigen Hierarchie erwähnt wird als enter image description here

  • Ausgabe:

enter image description here

Ich finde es schwierig für sie, die Abfrage zu schreiben. Kannst du bitte helfen .

+0

Bitte schreiben Sie ein Beispiel, das die kryptischen Abkürzungen/Codes mit etwas verständlich ersetzt. –

+0

Haben Sie eine eindeutige Spalte in Ihrer ersten Tabelle oder basierend auf welcher Spalte müssen wir eine andere Tabelle erstellen? Bitte erklären Sie ein bisschen mehr – Kalyan

+0

@Kalyan Ich habe keine eindeutige Kennung auf der ersten Tabelle. Basierend auf der Spalte SETTLEUNIT muss ich die Tabelle 2 – MKN

Antwort

3

Etwas wie:

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; 
Verwandte Themen