例如有一个人员统计表PRESON 字段有A,B,C(字段A表示地区名,B表示10岁到20岁的年龄,C表示20到40的年龄,)
select * from PRESON显示为
A B C
地区1 3 6
地区2 4 5
地区3 6 8
现在我要显示效果为
A 地区1 地区2 地区3B 3 4 6C 6 5 8
如何实现?谢谢了
select * from PRESON显示为
A B C
地区1 3 6
地区2 4 5
地区3 6 8
现在我要显示效果为
A 地区1 地区2 地区3B 3 4 6C 6 5 8
如何实现?谢谢了
解决方案 »
- 怎么用DOS命令启用监听器?
- 关于同比、环比的如何写???
- 利用v$session的触发器,编译报ora-00942错
- 关于Oracle Java 存储过程的写法问题!
- 请问connect 和 create session权限有和区别?
- SQL结果字串加减处理的问题,大家快来帮忙呀!^_^
- 在Oracle中判断一个存储过程是否存在?
- 我在oracle9i中导出数据库时作业总是报错,我用的是system用户,有exp_full_database权限,请高手指教
- 请大家翻译几句关于系统恢复的文档
- Oracle判断email表中is_delete字段是否都为零,如果都为零则删除所有信息,SQL语句该怎么写
- imp时报错,此对象由sa导出,而不是当前用户
- ubuntu 12.04 已经安装好了oracle 10G xe版,启动sqlplus遇到一下问题
A VARCHAR2(20),
B VARCHAR2(20),
C VARCHAR2(20)
);
INSERT INTO PERSON VALUES('地区1','3','6');
INSERT INTO PERSON VALUES('地区2','4','5');
INSERT INTO PERSON VALUES('地区3','6','8');
INSERT INTO PERSON VALUES('地区4','7','10');
INSERT INTO PERSON VALUES('地区5','3','6');
INSERT INTO PERSON VALUES('地区6','4','5');
INSERT INTO PERSON VALUES('地区7','6','8');
INSERT INTO PERSON VALUES('地区8','7','10');
SELECT * FROM person;通过PLSQL解决,思路在,参考一下DECLARE
TYPE T_PERSON IS TABLE OF PERSON%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE T_REC IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
C_PERSION T_PERSON;
C_REC T_REC;
BEGIN
C_REC(1):=''; C_REC(2):=''; C_REC(3):='';
SELECT * BULK COLLECT INTO C_PERSION FROM PERSON;
FOR I IN C_PERSION.FIRST .. C_PERSION.LAST LOOP
C_REC(1):=C_REC(1)||' '||C_PERSION(i).A;
C_REC(2):=C_REC(2)||' '||C_PERSION(i).B;
C_REC(3):=C_REC(3)||' '||C_PERSION(i).C;
END LOOP;
FOR I IN 1 .. C_REC.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(C_REC(I));
END LOOP;
END;
地区1 地区2 地区3 地区4 地区5 地区6 地区7 地区8
3 4 6 7 3 4 6 7
6 5 8 10 6 5 8 10
http://zjy126.iteye.com/blog/1188848