he implementado una lista enlazada como una tabla de base de datos de referencia a sí misma:¿Cómo puedo ordenar una lista vinculada en sql?
CREATE TABLE LinkedList(
Id bigint NOT NULL,
ParentId bigint NULL,
SomeData nvarchar(50) NOT NULL)
donde ID es la clave principal y parentid es el ID del nodo anterior en la lista. El primer nodo tiene ParentId = NULL.
Ahora quiero SELECCIONAR de la tabla, ordenando las filas en el mismo orden en que deberían aparecer, como nodos en la lista.
Ej .: si la tabla contiene las filas
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60088 60089 3
60089 38324 2
61039 61497 5
61497 60088 4
109397 109831 7
109831 61039 6
Luego de clasificación, utilizando los criterios, debería resultar en:
Id ParentId SomeData
24971 NULL 0
38324 24971 1
60089 38324 2
60088 60089 3
61497 60088 4
61039 61497 5
109831 61039 6
109397 109831 7
Se supone que debes usar el somedata Colum como control, así que no haga trampa haciendo PEDIDO por SomeData :-)
Tu no hacen trampas comentario: tendría que ser mejor si se ha seleccionado dentro de la muestra de datos que no sería obtener el resultado correcto al ordenar por sí mismo. De esa forma, "hacer trampa" no sería una opción. – AnthonyWJones
Hmm ... No creo que haya entendido mi intención al agregar esa columna. Solo quería hacer la vida más fácil para las personas que pudieran encontrar una respuesta. Llámelo una "herramienta de prueba". –