J'ai besoin de retourner une relation parent-enfant à partir de 3 tables qui sont respectivement pour le bas, le milieu et le haut. choses faciles jusqu'à présent, et déjà fait:construire une hiérarchie à partir de 3 tables
SELECT -1 ParentID, ID + 100000 ID, txtName Value from tblLevel1
UNION
SELECT Level1ID + 100000 ParentID, ID + 50000 ID, txtName Value from tblLevel2
UNION
SELECT Level2ID + 50000 ParentID, ID ID, txtName Value from tblLevel3
Mon problème est que je dois ajouter un autre champ qui décrit le chemin de chaque entrée.
Pour la première table, il s'agit de '-1; {id}).
Pour la deuxième table est is '{Level1id}; {id}'.
La requête de la troisième table doit renvoyer '{Level1id}; {Level2id}; {id}'. Le problème est le troisième alors. Les structures de table sont les suivantes:
Niveau 1; ID int; txtName varchar(50)
Niveau 2; ID int; Level1ID int; txtName varchar(50)
Niveau3; ID int; Level2ID int; txtName varchar(50)
Comment obtenir le chemin d'accès complet dans la requête sur la 3ème table (Niveau3)?
Ceci est le résultat courant
ParentID ID Value
-1 100001 Test company
-1 100006 Company A
-1 100007 Company B
-1 100008 The Primary Client
-1 100009 Overseas Client 1
100001 50001 Distribution
100006 50016 Attributes
100007 50018 Attributes
100008 50019 Development
100009 50029 Database
50001 1 Balance Sheet
50001 7 Cash Flow Statement
50001 10 Income Statement
50016 20 Vehicles
50016 21 Drivers
50019 33 Health
50029 29 Database
Il serait plus facile si vous deviez montrer quelques exemples de données et le résultat attendu une requête. –