Je veux exécuter une phrase SQL, il y a deux tablesComment obtenir des données hiérarchiques
Table Name Description
********* *********
H_person Employee Data
Modelorg Position Data
Je veux écrire un sql qui montre « qui est connecté à qui ». Dans le tableau de h_person
Fıeld Name Description
********* *********
p_no Employee ID
P_ad Employee Name
P_soyad Employee Surname
P_pzsyn Employee Position ID
Dans Modelorg Tableau
Fıeld Name Description
********* *********
Pozkod Position ID
Pozad Position Name
USTPOZKOD the upper position (POZKOD connected to USTPOZKOD)
USTPOZKOD est aussi le POZKOD en même temps, il y a une connexion hierarchial.
Je voudrais former un rapport montre personne ID, nom, prénom, Position, Nom Upper Position, ID Manager et Maneger Nom-Nom (Helding supérieur ID Position). De plus, parfois Upperpostion peut être vide et lors de l'exécution du rapport, il sera nul. Je voudrais ajouter une règle Si upperposition est nul, apporter 2 niveau de gestionnaire supérieur
Dans H_person Tableau First Data * *** ** P_no = 14556 P_ad = John p_Soyad = Onel P_Pzsyn = 72878/compte Spécialiste Deuxième données P_no = 14656 P_ad = Sara p_Soyad = Yildiz P_Pzsyn = 5455/Account Manager * *** ** Dans Modelorg Tableau Pozkod = 72878 Pozad = Compte spécialiste Ustpozkod = 5455 (Account Manager) USTPOZKOD est en même temps un pozkod.
select p_no, p_ad, p_soyad, Pozad, USTPOZKOD (nous avons connecté pozkod à USTPOZKOD et je woul aime apporter « qui a tenu ce USTPOZKOD (nom, prénom) de h_person, modelorg.
USTPOZKOD est aussi égal à POZKOD parce que quelqu'un helds cette position
Quel SGBD utilisez-vous? –
Microsoft Server 2008 – user1694217
Ensuite, utilisez la réponse de flem. –