Re: [SQL] Multiple values for a field
От | Ross J. Reedstrom |
---|---|
Тема | Re: [SQL] Multiple values for a field |
Дата | |
Msg-id | 19990815103626.A19124@wallace.ece.rice.edu обсуждение исходный текст |
Ответ на | Re: [SQL] Multiple values for a field (Herouth Maoz <herouth@oumail.openu.ac.il>) |
Список | pgsql-sql |
On Sun, Aug 15, 1999 at 04:26:31PM +0300, Herouth Maoz wrote: > > An alternative may be to create an aggregate function that will give you > the comma-separated list you desired upon request: > > CREATE AGGREGATE textcat_all > ( > basetype = text, > sfunc1 = textcat, > stype1 = text > ); > > Then you can do something like: > > SELECT da.docid, textcat_all( a.Author_name || ',' ) > FROM docs_authors da, authors a > WHERE da.authorid = a.id > GROUP BY da.docid; > > This will return a comma-separated list of author names for each doc id, > assuming the actual author name is in a separate table. There is an extra > comma at the end, but I don't suppose that's too much of a problem. > And can be solved as so: SELECT da.docid, rtrim(textcat_all( a.Author_name || ',' ), ',') ... Excellent tip, Herouth. This one goes in the 'keepers' bag. Ross -- Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu> NSBRI Research Scientist/Programmer Computer and Information Technology Institute Rice University, 6100 S. Main St., Houston, TX 77005
В списке pgsql-sql по дате отправления: