Re: Is this possible? concatenating results from a subquery

From: Janko Richter <jankorichter(at)yahoo(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Is this possible? concatenating results from a subquery
Date: 2004-04-21 14:06:26
Message-ID: c65v4t$qf$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Perhaps this helps:

CREATE AGGREGATE concat (
BASETYPE = text,
SFUNC = textcat, -- is function of operator 'text || text'
STYPE = text,
INITCOND = ''
);

SELECT
P.personid,
P.name,
concat( N.note ) AS allnotesbythisperson
FROM tblperson AS P
INNER JOIN tblnotes AS N ON N.personid=P.personid
WHERE P.personid=34
GROUP BY P.personid, P.name;

Regards, Janko

Erwin Moller wrote:
> Hi!
>
> I face the following problem:
> 2 tables: tblperson and tblnotes
> tblperson:
> colums: personid (PK), name
>
> tblnotes:
> colums: noteid(PK), personid(references tblperson(personid)), note
>
> tblnotes has notes stored written by a person from tblperson identified (FK)
> by its personid.
>
> I make a select on one table with certain criteria and want to have a
> concatenation on a subquery results.
> Something like this:
>
> SELECT
> P.personid,
> P.name,
> concat(SELECT N.note FROM tblnotes AS N WHERE (N.personid=P.personid) )
> AS allnotesbythisperson
> FROM tblperson AS P WHERE (P.personid=34);
>
> The concat word I use is pure fantasy.
> Is this at all possible?
>
> I know I can easily circumvent te problem by my scriptinglanguage (PHP), but
> that will result in many extra queries.
>
> How do I proceed?
>
> TIA!!
>
> Regards,
> Erwin Moller
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Erwin Moller 2004-04-21 15:52:19 Re: Is this possible? concatenating results from a subquery
Previous Message Thomas Hallgren 2004-04-21 13:43:44 Pl/Java and GCJ