sql >> Base de Datos >  >> RDS >> Sqlserver

Instrucción de selección/inserción de base de datos jerárquica (SQL Server)

Si está utilizando SQL Server 2005 o superior, puede utilizar consultas recursivas para obtener su información. Aquí hay un ejemplo:

With tree (id, Name, ParentID, [level])
As (
    Select id, Name, ParentID, 1
    From [myTable]
    Where ParentID = 0

    Union All

    Select child.id
          ,child.Name
          ,child.ParentID
          ,parent.[level] + 1 As [level]
    From [myTable] As [child]
    Inner Join [tree] As [parent]
    On [child].ParentID = [parent].id)
Select * From [tree];

Esta consulta devolverá la fila solicitada por la primera parte (Donde ParentID =0) y todas las subfilas recursivamente. ¿Esto te ayuda?

No estoy seguro de entender lo que quiere que suceda con su inserto. ¿Puede proporcionar más información en términos del resultado esperado cuando haya terminado?

¡Buena suerte!