1 message in com.mysql.lists.mysql-eslistando temas de un foro; cómo usar ...
FromSent OnAttachments
Camilo Kawerín21 Nov 2005 05:28 
Subject:listando temas de un foro; cómo usar MAX() en un JOIN
From:Camilo Kawerín (cami@ciudad.com.ar)
Date:11/21/2005 05:28:05 AM
List:com.mysql.lists.mysql-es

Hola a todos,

Estoy armando un foro sencillo y no le encuentro la vuelta para mostar el listado de "temas" con los autores del primer y último comentario haciendo una sola consulta.

Tengo básicamente tres tablas, con los siguientes campos (los campos entre paréntesis son claves únicas):

foro_temas -> (tema) | titulo

foro_relaciones -> tema | comentario

foro_comentarios -> (comentario) | autor

Si hago la siguiente consulta:

SELECT titulo, autor FROM foro_relaciones INNER JOIN foro_temas ON foro_relaciones.tema = foro_temas.tema INNER JOIN foro_comentarios ON foro_relaciones.comentario = foro_comentarios.comentario GROUP BY foro_relaciones.tema

obtengo la lista de temas con su título y el autor del primer comentario.

Ahora bien, para conocer la clave del último comentario de cada tema, sé que puedo obtener también la clave del último comentario de cada tema con la siguiente consulta:

SELECT titulo, autor, MAX( foro_relaciones.comentario ) AS ultimo_comentario FROM foro_relaciones INNER JOIN foro_comentarios ON foro_relaciones.comentario = foro_comentarios.comentario INNER JOIN foro_temas ON foro_temas.tema = foro_relaciones.tema GROUP BY foro_relaciones.tema

Pero, no puedo usar el alias ultimo_comentario ni la función MAX() en la cláusula ON para agregar una nueva relación.

Espero que se entienda el problema. Desde ya les agradezco toda ayuda.

Saludos,

Recuerde *RESPONDER* a este mail, así puedo hacer un seguimiento de la conversación.