Re: Combining several rows - Mailing list pgsql-general

From Holger Klawitter
Subject Re: Combining several rows
Date
Msg-id 200405241539.28011.lists@klawitter.de
Whole thread Raw
In response to Combining several rows  (Matthias Nagl <pg@mnagl.de>)
Responses Re: Combining several rows [solved]  (Matthias Nagl <pg@mnagl.de>)
List pgsql-general
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

> I would like to combine the contents of several rows of a subquery. After
> several hours of search in the documentation and the internet I didn'T find
> a solution and hope anyone can help. My problem:

You have to create your own aggreate.
You can use this one:

- ---------------------------------------------------
CREATE OR REPLACE FUNCTION
        join_sep ( text, text, text )
RETURNS text
LANGUAGE 'sql'
IMMUTABLE
AS '
        SELECT CASE
                WHEN $1 IS NULL THEN $3
                ELSE $1 || $2 || $3
        END;
';
- ---------------------------------------------------
CREATE OR REPLACE FUNCTION
        join_text ( text, text )
RETURNS text
LANGUAGE 'sql'
AS '
        SELECT join_sep($1,'', '',$2);
';
- ---------------------------------------------------
CREATE AGGREGATE join (
        BASETYPE = text,
        SFUNC = join_text,
        STYPE = text
);

Mit freundlichem Gruß / With kind regards
    Holger Klawitter
- --
lists <at> klawitter <dot> de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFAsftE1Xdt0HKSwgYRAg/TAJ4rgGwjPVSwrudQ51NP8Imrw0OWhwCfUnMH
h/WlRt3eeNopOtDHYlslnw4=
=xA3Q
-----END PGP SIGNATURE-----


pgsql-general by date:

Previous
From: Mike Mascari
Date:
Subject: Re: Combining several rows
Next
From: Tom Lane
Date:
Subject: Re: Combining several rows