Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta

Estas en el tema de Consulta en el foro de Mysql en Foros del Web. Necesito ordenar los threads por ultima respuesta (p.date). Es decir que los tread que tenga una ultima respuesta aparescan primero pero no logro hacerlo. Código ...
  #1 (permalink)  
Antiguo 24/08/2009, 07:32
Avatar de seinkraft  
Fecha de Ingreso: diciembre-2007
Mensajes: 119
Antigüedad: 16 años, 3 meses
Puntos: 1
Pregunta Consulta

Necesito ordenar los threads por ultima respuesta (p.date). Es decir que los tread que tenga una ultima respuesta aparescan primero pero no logro hacerlo.

Código PHP:
$threads $database->get_all(
                
"SELECT f.id, f.title, f.date, p.date, u.name AS user_name, u.email AS user_email, sum(1) - 1 AS response_count ".
                
"FROM forum_threads AS f ".
                
"INNER JOIN users AS u ".
                
"ON f.user_id = u.id ".
                
"INNER JOIN forum_posts AS p ".
                
"ON p.thread_id = f.id ".
                
"GROUP BY f.id, f.title, f.date, u.name, u.email ".
                
"ORDER BY p.date DESC LIMIT ?, ?"
                
, array($pageNumber $threadsPerPage$threadsPerPage)
            ); 
Gracias.-
  #2 (permalink)  
Antiguo 24/08/2009, 07:36
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Consulta

Como te ordena con la consulta que tienes?

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 24/08/2009, 07:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta

Código sql:
Ver original
  1. SELECT
  2.    f.id, f.title,
  3.    f.DATE,
  4.    p.DATE,
  5.    u.name AS user_name,
  6.    u.email AS user_email,
  7.    SUM(1) - 1 AS response_count
  8. FROM forum_threads AS INNER JOIN users AS u ON f.user_id = u.id
  9.          INNER JOIN forum_posts AS p  ON p.thread_id = f.id
  10. GROUP BY f.id, f.title, f.DATE, u.name, u.email ;
  11. ORDER BY p.DATE DESC LIMIT ?, ?;
Uno de los problemas que yo le veo es que usas palabras reservadas como nombres de campos, lo que puede dar resultados erráticos.
En esos casos hay que encerrar el nombre entre acentos agudos (`).
Verifica si eso te está originando errores.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 09:38.