On Thu, 2 Dec 1999, Marcin Mazurek - Multinet SA - Poznan wrote:
> On Thu, 2 Dec 1999, Karel Zak - Zakkr wrote:
> > > I have a table: orders (id int, val INT4[][]);. The question is how to
> > > select in separate rows values from particular id?
> > > example:
> > > insert into orders values(1,'{{1,1},{1,4},{2,3}}');
> > > select val from orders where id=1; gives me:
> > > val
> > > -------------------
> > > {{1,2},{1,4},{2,3}}
> > If I good undertend you.. You want select values from a array in separate
> > rows. Hmm see:
> > select o.val[1][1] from orders o where id=1 UNION ALL select o.val[1][2]
> > from orders o where id=1;
> > val
> > ---
> > 1
> > 2
> > (2 rows)
> what i meant was:
> c1 c2
> 1 2
> 1 4
> 2 3
> how can i do this?
> mazek
>
Oh man, it is total equivalent:
select o.val[1][1] as c1, o.val[1][2] as c2 from orders o where id=1 UNION ALL
select o.val[2][1], o.val[2][2] from orders o where id=1 UNION ALL
select o.val[3][1], o.val[3][2] from orders o where id=1;
c1|c2
--+--1| 21| 42| 3
(3 rows)
Karel