oracle行转列

有个问题请教大家,关于oracle行转列的问题,看似很简单不过个人感觉不好弄!请大家发表一下观点,问题如下:
比如有一张表,名为telnumber,只有一列tel(主键),里面存放电话号码,里面的数据是不固定的,如果我们用select * from telnumber,很显然它会列出一列(tel)来展示。
我的问题就是:如果不用存储过程和pl/sql块,能不能把这一列展示成一行?

抱歉我没想到怎么只用sql解决
用存储过程行不,或函数
CREATE OR REPLACE PROCEDURE OUT_LINE(LINE OUT VARCHAR )
AS
TEMP_LINE VARCHAR(200);
CURSOR TT_LIST IS
SELECT * FROM TT;
BEGIN
FOR T IN TT_LIST LOOP
TEMP_LINE:=TEMP_LINE||','||T.TT_ID;
END LOOP;
LINE:=TEMP_LINE;
END;

DECLARE

LINE VARCHAR(200);
BEGIN
OUT_LINE(LINE);
DBMS_OUTPUT.put_line(LINE);
END;

用oracle函数 不知道是不是这样
create table tt(
tt_id varchar2(200) primary key not null

)
insert into tt values('中国');
insert into tt values('美国');
insert into tt values('日本');

select wmsys.wm_concat(tt_id) from tt

美国,日本,中国

如果你想成为
属性1 属性2 属性3
美国 日本 中国
多个字段属性的话,就得换解决方案了

这个解决方案我还真不知道,如果想展示成那样 ,用代码处理吧。
你再找找 或许有更好的解决办法,这种问题应该很多