Cuestión : TSQL jerarquizado MIENTRAS QUE EXISTE

¿Hola los expertos,
My MIENTRAS QUE nunca EXISTE el lazo exit.
Can usted me ayudan con esto? el int

WHILE del @Child_ID del

@Parent_ID

DECLARE EXISTE (InventorytID SELECTO, ParentID de la tabla DONDE ParentID = @Parent_ID) el
BEGIN
SELECCIONA el @Child_ID = InventorytID de la tabla DONDE ParentID = el @Parent_ID
         --volver el contenido del primer mientras que el loop

         --comenzar el segundo loop
MIENTRAS QUE (InventorytID SELECTO, ParentID de la tabla DONDE ParentID = @Child_ID) EXISTE el
BEGIN
         --volver el contenido del segundo mientras que el loop
END
END
class= del

Respuesta : TSQL jerarquizado MIENTRAS QUE EXISTE

Si usted quiere a los travers una tabla - como un Bill de la tabla de materiales, después de usted puede utilizar un tipo recurrente pregunta de CTE el comenzar en @parent y después volver la cuenta completa.

¿Ese sonido un poco tiene gusto de lo que usted está intentando hacer?

A modo de ejemplo, usar una tabla del temp en lugar de otro (apenas por el ejemplo - usted utiliza su nombre verdadero de la tabla)


crear la tabla #table (el parentid internacional, inventoryID internacional, inventory_name varchar (100))
insertar los valores #table (1.0, “Parent1”)
insertar los valores #table (1.2, “Parent1Child2”)
insertar los valores #table (2.3, “Parent2Child3”)
insertar los valores #table (3.0, “Parent3”)

-- ahora tenemos ciertos datos del sampel, la pregunta recurrente de CTE

; con BOM_CTE como
(InventoryID SELECTO, ParentID, inventory_name
 De #Table
 DONDE ParentID = 1

 unión toda

 SELECCIONAR T.InventoryID, T.ParentID, T.inventory_name
 DE T #Table
 INTERNO ENSAMBLAR BOM_CTE C en T.ParentID = C.InventoryID
 )
seleccionar el parentid, inventoryid como child_id, inventory_name de BOM_CTE
Otras soluciones  
 
programming4us programming4us