Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Array extraction



   Hi!

   Try this one:

SELECT
   a.ug_id,
   b.ug_users[a.generate_series]
FROM
   (SELECT
       ug_id,
       generate_series(1, array_upper(ug_users, 1))
    FROM
        user_group
   ) AS a,
   user_group AS b
WHERE
   a.ug_id = b.ug_id;


veejar wrote:
Hi!

I have such table:

user_group
---------------------------------
ug_id -> serial primary key
ug_users -> int4[]

For example table has such rows:
 ug_id | ug_users

-------+--------------
  1    |  { 2,5,6 }
  2    |  { 3,4,9 }

I want to write SQL-query or write user defined function to get such result (extract array values):
 ug_id | ug_users
-------+--------------
  1    |    2
  1    |    5

  1    |    6
  2    |    3
  2    |    4
  2    |    9

Help please to solve this problem.
--
Vadim





Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group