| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
|  |  | |||
Home -> Community -> Usenet -> c.d.o.server -> Re: How to show a select in one row
create or replace function col_to_row
return varchar2 as
   var_out  varchar2(2000) := null;
begin
for curs in
(select id from toto order by id ) loop
         var_out := var_out||curs.id;
   end loop;
return var_out;
end col_to_row;
select col_to_row
from dual;
Neil
Brian Peasland <peasland_at_edcmail.cr.usgs.gov> wrote in message
news:37D51FA8.AB098C7A_at_edcmail.cr.usgs.gov...
> What you want to do is to turn a table on it's side. This can be found
> in Oracle, The Complete Reference by Oracle Press. To do this, you need
> to use the DECODE function. But with the DECODE function, you need to
> know the possible values that you might return. For instance,
>
>   SELECT DECODE(id,'1','1',NULL) AS "1",
>          DECODE(id,'2','2',NULL) AS "2",
>          DECODE(id,'3','3',NULL) AS "3"
>   FROM toto;
>
>  would return
>
>   1    2    3
>  ---  ---  ---
>   1
>        2
>             3
>
>
> This isn't quite what you are looking for, but it shows some of the
> "power" of the decode statement (as well as it's weaknesses).
>
> HTH,
> Brian
>
>
> Jorge wrote:
> >
> > something like this:
> > select * from toto
> > id
> > ---
> > 1
> > 2
> > 3
> >
> > select * from toto
> > id
> > ---
> > 123
Received on Fri Sep 10 1999 - 14:30:49 CDT
|  |  |