Que bd utilizas?, en firebird, no estoy seguro si de la version 2.0 en adelante existe la funcion LIST. con esto podrias hacer algo asi
Código SQL
[-]select id_m Nombre_m, LIST(fecha_cot), LIST(precio_m)
from mercado
where fecha_cot between :fecha1 and fecha2
group by id_m Nombre_m
List te devolvera una cadena de caraceteres. separadas por comas.