最笨的办法。。没想到好方法可以实现搂主要求
select max(decode(a,1,a)) l,max(decode(a,2,a)) m,max(decode(a,3,a)) n from table
union all
select max(decode(b,1,b)) l,max(decode(b,2,b)) m,max(decode(b,3,b)) n from table
union all
select max(decode(c,1,c)) l,max(decode(c,2,c)) m,max(decode(c,3,c)) n from table
union all
select max(decode(d,1,d)) l,max(decode(d,2,d)) m,max(decode(d,3,d)) n from table
select max(decode(a,1,a)) l,max(decode(a,2,a)) m,max(decode(a,3,a)) n from table
union all
select max(decode(b,1,b)) l,max(decode(b,2,b)) m,max(decode(b,3,b)) n from table
union all
select max(decode(c,1,c)) l,max(decode(c,2,c)) m,max(decode(c,3,c)) n from table
union all
select max(decode(d,1,d)) l,max(decode(d,2,d)) m,max(decode(d,3,d)) n from table
解决方案 »
- 执行sql语句太慢,好像只用一个CPU,有没有办法优化?
- 复合索引查询时WHERE条件的书写?
- ORACLE 连接超时?
- 如何按需要拼两个SQL?
- 关于表空间的LOGGING,FORCE LOGGING参数
- 和别人不一样的巨难:关于oracle9i备份和还原数据表 分数可以在给!!!
- 大家讨论一下什么时候用自增主键较好呀,自增的比一般编码好在哪里呀
- oracle9.i安装问题,在线等!
- 基于Oracle技术的www信息查询系统探讨~~~~~~~~散分
- 今天30生日,散分
- 我是oracle8i客户端,如何建立两个数据库服务端之间的DBlink?来者有分!!
- 如何将oracle安装程序打包进自己的安装程序
----- ----- ----- -----
1 1 1 1
2 2 2 2
3 3 3 3SQL> DECLARE
2 CURSOR cur_l2c_a IS /*声明游标*/
3 SELECT a FROM tb_l2c;
4 CURSOR cur_l2c_b IS /*声明游标*/
5 SELECT b FROM tb_l2c;
6 CURSOR cur_l2c_c IS /*声明游标*/
7 SELECT c FROM tb_l2c;
8 CURSOR cur_l2c_d IS /*声明游标*/
9 SELECT d FROM tb_l2c;
10
11 value VARCHAR2(5);
12 BEGIN
13 DBMS_OUTPUT.PUT('A' || ' B' || ' C');
14 DBMS_OUTPUT.PUT_LINE('');
15 DBMS_OUTPUT.PUT('-' || ' -' || ' -');
16 DBMS_OUTPUT.PUT_LINE('');
17
18 OPEN cur_l2c_a; /*打开游标*/
19 OPEN cur_l2c_b; /*打开游标*/
20 OPEN cur_l2c_c; /*打开游标*/
21 OPEN cur_l2c_d; /*打开游标*/
22
23 FETCH cur_l2c_a INTO value; /*从游标中检索数据行*/
24 WHILE cur_l2c_a%FOUND LOOP
25 DBMS_OUTPUT.PUT(value || ' ');
26 FETCH cur_l2c_a INTO value;
27 END LOOP;
28 DBMS_OUTPUT.PUT_LINE('');
29 FETCH cur_l2c_b INTO value; /*从游标中检索数据行*/
30 WHILE cur_l2c_b%FOUND LOOP
31 DBMS_OUTPUT.PUT(value || ' ');
32 FETCH cur_l2c_b INTO value;
33 END LOOP;
34 DBMS_OUTPUT.PUT_LINE('');
35 FETCH cur_l2c_c INTO value; /*从游标中检索数据行*/
36 WHILE cur_l2c_c%FOUND LOOP
37 DBMS_OUTPUT.PUT(value || ' ');
38 FETCH cur_l2c_c INTO value;
39 END LOOP;
40 DBMS_OUTPUT.PUT_LINE('');
41 FETCH cur_l2c_d INTO value; /*从游标中检索数据行*/
42 WHILE cur_l2c_d%FOUND LOOP
43 DBMS_OUTPUT.PUT(value || ' ');
44 FETCH cur_l2c_d INTO value;
45 END LOOP;
46
47 CLOSE cur_l2c_a; /*关闭游标*/
48 CLOSE cur_l2c_b; /*关闭游标*/
49 CLOSE cur_l2c_c; /*关闭游标*/
50 CLOSE cur_l2c_d; /*关闭游标*/
51 DBMS_OUTPUT.PUT_LINE('');
52 END;
53 /
A B C
- - -
1 2 3
1 2 3
1 2 3
1 2 3PL/SQL 过程已成功完成。SQL>