Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/03/2005, 12:43
Avatar de cableh
cableh
 
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 5 meses
Puntos: 0
A ver si me explico: puedes crearte en la tabla un campo de tipo varchar que sea OrdenArbol, y ¿cómo rellenarlo?, el primer mensaje de un hilo será:
10000000+idMensaje, si este mensaje tiene una respuesta: concatenaremos el OrdenArbol del padre con .10000000+IdMensaje y así sucesivamente, finalmente ordenamos la consulta por OrdenMensaje. Así en tu ejemplo quedaría:


IDMensaje Mensaje............. IDMensajeCitado OrdenArbol
1 ........... Como se hace..... 0 ................... 1001
2 ........... De esta manera... 1 ................... 1001.1002
3 ........... No, yo creo que... 2 ...................1001.1002.1003
4 ........... Yo tambien veo ... 1 .................. 1001.1004
5 ........... Re: de esta manera 2 ................. 1001.1002.1005

(Perdona el desorden pero no se manejar el editor muy bien)

En el ejemplo he concatenado con 1000 para hacerlo más corto pero tú elijes el tamaño (evidentemente 1000 es corto porque en cuanto tuvieras más de mil mensajes ya no valdría por eso hay que poner un número grande).

Como ves si hicieras:
select * from mensajes where idTema = @idTema order by OrdenArbol
te devolvería:
IdMensaje
1
2
3
5
4

Es una idea, espero haberme explicado y que te sirva.
Salu2.