Freigeben über


Einrichten einer Tabelle mit hierarchischen Daten

Der erste Schritt beim Konvertieren einer Tabelle in eine hierarchische Struktur besteht darin, die zu konvertierende Tabelle zu erstellen. Die folgende Prozedur erstellt eine Tabelle, die Informationen zur ID, Manager-ID und Anmelde-ID eines Mitarbeiters enthält.

So erstellen Sie die Tabelle EmployeeDemo

  • Führen Sie in einem Abfrage-Editorfenster den folgenden Code aus, um eine neue Tabelle mit dem Namen EmployeeDemo zu erstellen.

    CREATE TABLE EmployeeDemo (EmployeeID int, LoginID varchar(200), ManagerID int);
    INSERT INTO EmployeeDemo 
    VALUES (1, 'zarifin', Null), 
           (2, 'tplate', 1),
           (3, 'hjensen', 1),
           (4, 'schai', 2),
           (5, 'elang', 2),
           (6, 'gsmits', 2),
           (7, 'sdavis', 3),
           (8, 'norint', 3),
           (9, 'jwang', 4),
           (10, 'malexander', 4);
    

So untersuchen Sie die Struktur und die Daten der Tabelle EmployeeDemo

  • Die neue Tabelle EmployeeDemo stellt eine typische Tabelle einer vorhandenen Datenbank dar, die in eine neue Struktur migriert werden soll. Führen Sie in einem Abfrage-Editorfenster den folgenden Code aus, um zu zeigen, wie die Mitarbeiter-Manager-Beziehungen mithilfe eines Selbstjoins dargestellt werden:

    SELECT 
         Mgr.EmployeeID AS MgrID, Mgr.LoginID AS Manager, 
         Emp.EmployeeID AS E_ID, Emp.LoginID AS LoginID 
    FROM EmployeeDemo AS Emp
    LEFT JOIN EmployeeDemo AS Mgr
    ON Emp.ManagerID = Mgr.EmployeeID
    ORDER BY MgrID, E_ID;
    

    Dies ist das Resultset.

    MgrID Manager E_ID LoginID

    NULL NULL 1 zarifin

    1 zarifin 2 tplate

    1 zarifin 3 hjensen

    2 tplate 4 schai

    2 tplate 5 elang

    2 tplate 6 gsmits

    3 hjensen 7 sdavis

    3 hjensen 8 norint

    4 schai 9 jwang

    4 schai 10 malexander

In der nächsten Aufgabe erstellen Sie eine neue Tabelle mit dem hierarchyid-Datentyp, und Sie verschieben die Daten in diese neue Tabelle.