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

RompeCabezas

Estas en el tema de RompeCabezas en el foro de ASP Clásico en Foros del Web. Llevo unos dias estancado en mi foro todo por la ordenacion de los Post. Como es tipico quiero ordenarlo segun la fecha de llegada a ...
  #1 (permalink)  
Antiguo 27/08/2004, 01:34
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta RompeCabezas

Llevo unos dias estancado en mi foro todo por la ordenacion de los Post.

Como es tipico quiero ordenarlo segun la fecha de llegada a la base de datos de la respuesta o del nuevo tema.
Mi base de datos esta compuesta por dos tablas TEMA y RESP:

TEMA:
Id *
Fecha
Titulo
Mensaje
Visitas
Autor

RESP:
IdResp *
IdTema
FechaResp
AutorResp
Resp

No se si ordenarlo por la fecha mas reciente o por el IdResp mas alto. Pero en cualquiera de los casos tengo el problema que en la consulta:

SELECT DISTINCT * FROM Resp,Tema WHERE Tema.Id = Resp.IdTema order by Resp.IdResp Desc

Me saca repetido los titulos tantas veces como respuestas tenga, ademas de no sacarme los temas sin respuestas.
Estoy hecho un lio y me gustaría que me indicaseis como lo ordenariais vosotros esto, u otras alternativas.
Espero vuestra ayuda.
  #2 (permalink)  
Antiguo 27/08/2004, 11:12
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
SELECT DISTINCT * FROM Resp,Tema WHERE Tema.Id = Resp.IdTema order by Resp.IdResp Desc

Me saca repetido los titulos tantas veces como respuestas tenga, ademas de no sacarme los temas sin respuestas.
Pues claro que pone el titulo en cada respuesta, estas haciendo un producto cartesiano, es normal y correcto. También el hecho que omita los registros que no coincidan con el Where que has definido.

Para que te saque las que no tienen respuesa, creo yo, deberías utilizar la union de una subconsulta:
SELECT DISTINCT Tema.* FROM Resp,Tema WHERE Tema.Id = Resp.IdTema order by Resp.IdResp Desc UNION
SELECT DISTINCT * FROM Tema WHERE Id NOT IN (Select Id from Resp)

No se si esto de adapte a tus necesidades, pero la idea es esa.
  #3 (permalink)  
Antiguo 29/08/2004, 13:36
 
Fecha de Ingreso: agosto-2004
Mensajes: 33
Antigüedad: 19 años, 9 meses
Puntos: 0
Ya lo he resuelto...

me he creado otro campo que le doy un valor +1 al meter respuestas o nuevos temas y así simplemente tengo que ordenarlo por ese campo.

No es lo mejor pero funciona.

Gracias por la ayuda...
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 19:49.