Ver Mensaje Individual
  #10 (permalink)  
Antiguo 22/04/2008, 00:50
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: concatenar resultados de una consulta

infolan,

creo que estás mezclando dos soluciones.
La solución que te propuse yo la tienes con:

select group_concat(distinct eje.eje_nombre SEPARATOR '-' ) as nombre
from ejemplares eje inner join lista_de_precios lp on lp.tipo_eje_codigo = eje.tipo_eje_codigo GROUP BY eje.tipo_eje_codigo
HAVING eje.tipo_eje_codigo = 'D'

Lánzala sin más, sin hacer procedure ni function y verás el resultado.

Con esto te bastará en principio si no vas a hacer muchas veces cadenas de ese tipo separadas con guiones.

Lo que te propuso gnzsoloyo es más práctico y tiene el objetivo de que si tienes intención de encadenar otras salidas puedas hacerlo invocando una función que aplicada a cualquier consulta de ese tipo retorne una cadena con los resultados separados con guiones. Al parecer él te hablaba de un loop, imagino que con while..., por lo que probablemente no pensaba en el group_concat, aunque de eso no estoy tan seguro. Yo no he trabajado con funciones de MySQL, por lo que no puedo decirte cómo hacerlo... De todas maneras, seguro que puedes hacer una función también con esa sintaxis y group_concat.

Última edición por jurena; 22/04/2008 a las 01:01