pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Christopher Browne <cbbrowne@acm.org>
To: pgsql-sql@postgresql.org
Subject: Re: Merging rows into one result?
Date: Sat, 11 Mar 2006 12:00:27 -0500
Message-ID: <87wtf0kjbo.fsf@wolfe.cbbrowne.com> (raw)
References: <20060311173133.1358a018@io.solnet>

Centuries ago, Nostradamus foresaw when jkp@solnet.homeip.net ("Jesper K. Pedersen") would write:
> Is it possible to use SQL to merge data into one result?
>
> A theorethical example to explain:
>
> tbl_test (
>   id integer,
>   information varchar(25))
>
> id | information
> ---+--------------
> 1  | Yo
> 2  | Go away
> 1  | Stay put
> 3  | Greetings
>
> Please note id is not unique and not a primary key.
>
> and I wonder if there is any functions to "merge" data (sort of
> concat'ing).
> A normal: select information from tbl_test where id=1
> would result in the rows
>  Yo
>  Stay put
>
> I would like a single row result in the format of:
>  Yo Stay put
>
> Any ideas on this?

Sure, you could create a custom aggregate to append them using spaces.

Look in the PostgreSQL documentation under "CREATE AGGREGATE."  If you
check the online version at PostgreSQL.org, there are comments showing
examples...
-- 
wm(X,Y):-write(X),write('@'),write(Y). wm('cbbrowne','gmail.com').
http://linuxdatabases.info/info/wp.html
--Despite Pending :Alarm--



view thread (5+ messages)

Message-ID: <87wtf0kjbo.fsf@wolfe.cbbrowne.com>
Permalink:  ../87wtf0kjbo.fsf@wolfe.cbbrowne.com/
Also on:    postgresql.org/message-id/87wtf0kjbo.fsf@wolfe.cbbrowne.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: cbbrowne@acm.org
  Subject: Re: Merging rows into one result?
  In-Reply-To: <87wtf0kjbo.fsf@wolfe.cbbrowne.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox