Udostępnij za pośrednictwem


Sprawdzanie bieżącej struktury tabela pracowników

Próbki AdventureWorks Baza danych zawiera Pracownika tabelaHumanResources schematu.Aby zapobiec zmianie pierwotnej tabela, w tym kroku tworzy kopię Pracownika tabela o nazwie EmployeeDemo.W celu uproszczenia przykładu, można kopiować tylko pięć kolumn z tabela pierwotnej.Następnie należy zbadać HumanResources.EmployeeDemo tabela do przeglądania struktury danych w tabela bez użycia hierarchyid Typ danych.

Aby skopiować z tabela pracowników

  • W oknie Edytora kwerend, należy uruchomić następujący kod w celu skopiowania struktury tabela i dane z Pracownika tabela do nowej tabela o nazwie EmployeeDemo.

    USE AdventureWorks ;
    GO
    
    SELECT EmployeeID, LoginID, ManagerID, Title, HireDate 
    INTO HumanResources.EmployeeDemo 
    FROM HumanResources.Employee ;
    GO
    

Zbadanie struktury i dane tabela EmployeeDemo

  • To nowe EmployeeDemo tabela przedstawia typową tabela w istniejącej bazie danych, które można dokonać migracji do nowej struktury.W oknie Edytora kwerend uruchom poniższy kod, aby pokazać, jak w tabela używa autosprzężenie spowoduje wyświetlanie relacji pracownik/Menedżera:

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

    Here is the result set.

    MgrID Manager                 E_ID LoginID                  Title
    NULL NULL                      109 adventure-works\ken0     Chief Executive Officer
    3    adventure-works\roberto0  4   adventure-works\rob0     Senior Tool Designer
    3    adventure-works\roberto0  9   adventure-works\gail0    Design Engineer
    3    adventure-works\roberto0  11  adventure-works\jossef0  Design Engineer
    3    adventure-works\roberto0  158 adventure-works\dylan0   Research and Development Manager
    3    adventure-works\roberto0  263 adventure-works\ovidiu0  Senior Tool Designer
    3    adventure-works\roberto0  267 adventure-works\michael8 Senior Design Engineer
    3    adventure-works\roberto0  270 adventure-works\sharon0  Design Engineer
    6    adventure-works\david0    2   adventure-works\kevin0   Marketing Assistant
    ...
    

    Wyniki w dalszym ciągu dla wszystkich wierszy 290.

Zwróć uwagę, że ORDER BY Klauzula spowodowane danych wyjściowych do wyświetlenia bezpośrednich podwładnych każdego poziom zarządzania ze sobą. Na przykład wszystkich siedmiu bezpośrednich podwładnych z MgrID 3 (roberto0) są wyświetlane obok siebie.Mimo że jest to niemożliwe, są znacznie trudniejsze do grupowania wszystkich osób, które po pewnym czasie raportu MgrID 3.

W kolejnym zadaniem firma Microsoft będzie utworzyć nową tabela z hierarchyid Typ danych i przenieść dane do nowej tabela.

Keyboard Shortcuts in Reporting Services

Populating a Table with Existing Hierarchical Data