Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/06/2008, 10:55
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta atipica

Para esas cosas MySQL tiene la función GROUP_CONCAT. Pongamos que tienes una tabla de titulos, otra de autores, y una tercera de autortitulo.

SELECT t.titulo, GROUP_CONCAT( a.autor SEPARATOR '; ' ) AS autores FROM titulos t INNER JOIN autortitulo at ON t.idtitulo = at.refidtitulo INNER JOIN autores a ON at.refidautor = a.idautor GROUP BY t.idtitulo ORDER BY t.titulo

Por supuesto, eso puede hacerse fácilmente con programación, usando arrays, etc., y no haría falta, claro el uso de group_concat, pero ahora has pedido hacerlo directamente desde la base, y yo creo que este es el mejor modo de hacerlo.

Última edición por jurena; 24/06/2008 a las 11:19