Re: pgsql variables from records

From: SunWuKung <Balazs(dot)Klein(at)axelero(dot)hu>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: pgsql variables from records
Date: 2006-03-17 18:07:06
Message-ID: MPG.1e851934873943e9989690@news.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In article <441AE917(dot)9010008(at)secdat(dot)com>, ken(at)secdat(dot)com says...
> SunWuKung wrote:
>
> >In article <441AD636(dot)6090009(at)archonet(dot)com>, dev(at)archonet(dot)com says...
> >
> >
> >>SunWuKung wrote:
> >>
> >>
> >>>Select Into max_option parameter_value From parameters Where methodid=
> >>>999 And parameter_name='max_option'
> >>>
> >>>and so on for each parameter.
> >>>
> >>>
> What you are trying to do is a transpose, taking a column of values and
> turning it into a row.
>
> You transpose columns to rows by doing a JOIN of some flavor or another
> (in this case a cross-join in which the filters bring us down to one row
> per table). The reverse operation is done with UNIONs.
>
> This code has not been tested, but it should get the idea across. It
> should also be fairly easy to generate in the client since it is systematic:
>
> SELECT into parm1, parm2, parm3
> x1.parameter_value, x2.parameter_value, x3.parameter_value
> FROM parameters x1,parameters x2, parameters x3
> WHERE x1.parameter_name = 'USA Patriot ACT'
> AND x2.parameter_name = 'Is not constitutional'
> AND x3.paremter_name = 'IMHO'
> AND x1.methodid=999
> AND x2.methodid=999
> AND x3.methodid=999
>
> Hope it works!
>
>
>
> >>>Is there a way to get all these parameters into one variable in pgsql -
> >>>eg. Select Into paramarray(param_name, param_value) parameter_name,
> >>>parameter_value Where methodid=999 - and refer to their values in a
> >>>simple way like param_array.max_option ?
> >>>
> >>>
> >>Have a look at using a variable of type RECORD. See the plpgsql
> >>documentation for examples.
> >>
> >>
> >>
> >>

Thanks for this, I am sure this works, but this is basically the same as
writing a Select for each parameter - which is what I was trying to
avoid.

Balázs

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2006-03-17 18:15:53 Re: efficiency of group by 1 order by 1
Previous Message Guy Fraser 2006-03-17 17:32:58 Re: will slony work for this ?