stuff - array_agg postgresql ejemplos
Cómo obtener el resultado de string_agg() con un orden correcto por (2)
por ejemplo,
CREATE TABLE tblproducts
(
productid integer,
product character varying(20)
)
es mi mesa
INSERT INTO tblproducts(productid, product)VALUES (1, ''CANDID POWDER 50 GM'');
INSERT INTO tblproducts(productid, product)VALUES (2, ''SINAREST P SYP 100 ML'');
INSERT INTO tblproducts(productid, product)VALUES (3, ''ESOZ D 20 MG CAP'');
INSERT INTO tblproducts(productid, product)VALUES (4, ''HHDERM CREAM 10 GM'');
INSERT INTO tblproducts(productid, product)VALUES (5, ''CREAM 15 GM'');
INSERT INTO tblproducts(productid, product)VALUES (6, ''KZ LOTION 50 ML'');
INSERT INTO tblproducts(productid, product)VALUES (7, ''BUDECORT 200 Rotocap'');
estas son algunas filas de muestra en tblproducts
si ejecuto
string_agg()
entblproducts
select string_agg(product,'' | '') from "tblproducts"
devolverá el siguiente resultado
CANDID POWDER 50 GM | ESOZ D 20 MG CAP | HHDERM CREAM 10 GM | CREAM 15 GM | KZ LOTION 50 ML | BUDECORT 200 Rotocap
Entonces, ¿cómo puedo obtener el resultado en
order by product
?PostgreSQL 9.2.4
Con postgres 9.0+ puedes escribir:
select string_agg(product,'' | '' order by product) from "tblproducts"
Detalles aquí: http://www.postgresql.org/docs/current/static/sql-expressions.html#SYNTAX-AGGREGATES
select string_agg(prod,'' | '') FROM
(SELECT product as prod FROM tblproducts ORDER BY product )MAIN;