Foros del Web » Programando para Internet » ASP Clásico »

Problema Ordenacion - Foro

Estas en el tema de Problema Ordenacion - Foro en el foro de ASP Clásico en Foros del Web. Resulta que me estoy haciendo un foro y no consigo ordenarlo por fecha de respuesta. Actualmente lo tengo ordenado por fecha de creacion de Tema. ...
  #1 (permalink)  
Antiguo 26/08/2004, 02:09
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
Problema Ordenacion - Foro

Resulta que me estoy haciendo un foro y no consigo ordenarlo por fecha de respuesta.
Actualmente lo tengo ordenado por fecha de creacion de Tema.

Tengo dos tablas. Una para los Temas y otra para las respuestas, estan enlazadas por el numero de Tema.

Alguien me puede aportar alguna idea, o como se haría la consulta?

select * FROM tema, resp order by resp.fecha

pero me salen las respuestas tambien en la ordenacion.
  #2 (permalink)  
Antiguo 26/08/2004, 02:50
 
Fecha de Ingreso: enero-2002
Mensajes: 153
Antigüedad: 22 años, 4 meses
Puntos: 0
En la consulta tendrías que hacer una join entre las tablas:

Select *
From tema, resp
where tema.num=resp.numtema
order by resp.fecha

Por ejemplo
  #3 (permalink)  
Antiguo 26/08/2004, 03:29
 
Fecha de Ingreso: enero-2004
Mensajes: 396
Antigüedad: 20 años, 5 meses
Puntos: 0
Si, y seleccionas en el select solo los registros que quieras mostrar , no tienes porque hacer necesariamente un "select *"
  #4 (permalink)  
Antiguo 26/08/2004, 03:44
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
Joer me sale ordenado pero un titulo por cada respuesta.
He puesto esto:

strsql = "SELECT * FROM Tema,Resp WHERE Tema.Id = Resp.IdTema order by Resp.IdResp Desc"
  #5 (permalink)  
Antiguo 26/08/2004, 03:46
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
las tablas son:

TEMA:
Id *
Fecha
Autor
Titulo
Mensaje
Visitas

RESP:
IdResp *
IdTema
FechaResp
AutorResp
Resp
  #6 (permalink)  
Antiguo 26/08/2004, 04:15
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
los asteriscos son las claves.

Como cada tema tiene muchas respuestas (Id=IdTema)
salen un monton de registros.
  #7 (permalink)  
Antiguo 26/08/2004, 04:18
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
tengo una relacion entre Tema.Id y Resp.IdTema de uno a infinito.
Puede ser esto?
  #8 (permalink)  
Antiguo 26/08/2004, 04:22
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
toy desesperado, no lo consigo...
Como podria hacer para que solo me salga el de la ultima respuesta?
Como lo teneis vosotros en vuestras webs?
  #9 (permalink)  
Antiguo 26/08/2004, 04:30
 
Fecha de Ingreso: enero-2004
Mensajes: 396
Antigüedad: 20 años, 5 meses
Puntos: 0
No, no es eso, es normal que te salga asi, ten en cuenta que lo que le estas diciendo es que te muestre precisamente eso, es decir, de cada registro el titulo, y la respuesta.


Cuando este en tu pagina servidor (ASP,PHP....) filtralos resultados y muestra solo el primer titulo que aparezca por cada grupo de registros.
  #10 (permalink)  
Antiguo 26/08/2004, 04:42
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
y como filtro?
haciendo una nueva consulta con Top 1?
  #11 (permalink)  
Antiguo 26/08/2004, 04:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
Yo hago la consulta al principio de la pagina y luego muestro en un Do While.

Como puedo hacer una subconsulta en el Do while para que me muestre solo el primer registro de la primera consulta???
  #12 (permalink)  
Antiguo 27/08/2004, 00:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
joer parece que nadie sabe nada, no???
toy estancao...
  #13 (permalink)  
Antiguo 30/08/2004, 02:39
 
Fecha de Ingreso: enero-2004
Mensajes: 12
Antigüedad: 20 años, 5 meses
Puntos: 0
A ver si te sirve algo así:

Select *
From Tema
where id = (Select DISTINCT idTema
From Resp
Order by FechaResp)

Creo que ese DISTINCT es la clave.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.