Si vous voulez aux travers une table - comme des nomenclatures la table, alors vous peut employer un type récursif question de CTE commencer à @parent et puis renvoyer la facture complète.
Ce bruit aime-t-il un peu ce que vous essayez de faire ?
À titre d'exemple, using une table de temp à la place (juste pour l'exemple - vous employez votre vrai nom de table)
créer la table #table (parentid international, inventoryID international, inventory_name varchar (100))
insérer les valeurs #table (1.0, « Parent1 »)
insérer les valeurs #table (1.2, « Parent1Child2 »)
insérer les valeurs #table (2.3, « Parent2Child3 »)
insérer les valeurs #table (3.0, « Parent3 »)
-- maintenant nous avons quelques données de sampel, la question récursive de CTE
; avec BOM_CTE As
(InventoryID CHOISI, ParentID, inventory_name
De #Table
LÀ OÙ ParentID = 1
union toute
CHOISIR T.InventoryID, T.ParentID, T.inventory_name
DE T #Table
INTÉRIEUR JOINDRE BOM_CTE C sur T.ParentID = C.InventoryID
)
choisir le parentid, inventoryid comme child_id, inventory_name de BOM_CTE