Re: list variable attributes in one select
От | A. Kretschmer |
---|---|
Тема | Re: list variable attributes in one select |
Дата | |
Msg-id | 20070122082402.GA27409@a-kretschmer.de обсуждение исходный текст |
Ответ на | list variable attributes in one select (Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>) |
Список | pgsql-sql |
am Mon, dem 22.01.2007, um 8:43:48 +0100 mailte Louis-David Mitterrand folgendes: > "person_type" contains differents caracteristics for a person (actor, > director, author, etc.) who can have several types, hence the need for > the person_to_type table. > > I'd like to know if I can list in one SELECT command a person and all of > its types, given that the number of types can be 0 to n. > > For example, for a given person I'd like to obtain: > > "John Doe", "actor", "playright", "author" > > or > > "Jane Doe", "director" > > in one select. Yes, imagine, you have 2 tables: test=*# select * from f1;id | name ----+------ 1 | foo 2 | bar 3 | batz (3 rows) test=*# select * from f2;i_id | f1_id ------+------- 1 | 1 1 | 2 2 | 1 2 | 2 2 | 3 (5 rows) f1 contains your characteristics, f2 contains the assignment person -> characteristics. Now you can see all characteristics for person with id=1: test=*# select array_to_string(array(select name from f1 where id in (select f1_id from f2 where i_id = 1)), ', ');array_to_string -----------------bar, foo (1 row) Hope that helps, Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
В списке pgsql-sql по дате отправления: