Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/01/2007, 12:06
Avatar de u_goldman
u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: Posición de Lugares (Top)

Un poco más explícito, ya que está usando SQL, yo haría lo siguiente:

Código:
--Crea una tabla temporal donde almacenes el id de tu usuario y un campo de autoincremento que te dara el orden
CREATE TABLE #tbl_filas(
id_orden INT IDENTITY (1,1),
usuario_id INT NOT NULL
);

--Haz un Insert de usuarios en la tabla temporal 
INSERT INTO #tbl_filas(usuario_id)
SELECT usuario_id FROM tbl_usuario ORDER BY usuario_posicion;

--Finalmente obtenemos nuestro(s) usuario(s), si se sabe el id del usuario en cuestion solo traemos ese registro, si no, podemos devolver todo e iterar un recordset
SELECT a.*, b.id_orden FROM tbl_usuario a INNER JOIN #tbl_filas b ON a.usuario_id = b.usuario_id [WHERE usuario_id=@variable_usuario_id] [ORDER BY id_orden]

--Destruye tu tabla temporal
DROP TABLE #tbl_filas
Podrias crearte un stored procedure con esto, tambien puedes llamarlo desde tu codigo duro, como cualquier sentencia SQL.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway