Requieres algo parecido a la función group_concat de mysql.
Lastimosamente postgresql no la trae, pero según este
articulo se puede construir.
Código sql:
Ver originalCREATE aggregate array_accum (
sfunc = array_append,
basetype = anyelement,
stype = anyarray,
initcond = '{}'
);
CREATE OR REPLACE FUNCTION _group_concat(text, text)
RETURNS text AS $$
SELECT CASE
WHEN $2 IS NULL THEN $1
WHEN $1 IS NULL THEN $2
ELSE $1 operator(pg_catalog.||) ',' operator(pg_catalog.||) $2
END
$$ IMMUTABLE LANGUAGE SQL;
CREATE AGGREGATE group_concat (
BASETYPE = text,
SFUNC = _group_concat,
STYPE = text
);
Después de creada, puedes llamar así tu consulta:
Código sql:
Ver originalSELECT descripcion,group_concat(acabado) AS acabados
FROM producto p
INNER JOIN
acabados_producto ap
ON p.id=ap.id GROUP BY descripcion;
ya la he probado y relamente funciona.
cuentanos si soluciona tu problema