参考这个例子:
SELECT *
FROM (SELECT job,
sum(decode(deptno,10,sal)) DEPT10,
sum(decode(deptno,20,sal)) DEPT20,
sum(decode(deptno,30,sal)) DEPT30,
sum(decode(deptno,40,sal)) DEPT40
FROM scott.emp
GROUP BY job)
ORDER BY 1; JOB DEPT10 DEPT20 DEPT30 DEPT40
--------- ---------- ---------- ---------- ----------
ANALYST 6000
CLERK 1300 1900 950
MANAGER 2450 2975 2850
PRESIDENT 5000
SALESMAN 5600
SELECT *
FROM (SELECT job,
sum(decode(deptno,10,sal)) DEPT10,
sum(decode(deptno,20,sal)) DEPT20,
sum(decode(deptno,30,sal)) DEPT30,
sum(decode(deptno,40,sal)) DEPT40
FROM scott.emp
GROUP BY job)
ORDER BY 1; JOB DEPT10 DEPT20 DEPT30 DEPT40
--------- ---------- ---------- ---------- ----------
ANALYST 6000
CLERK 1300 1900 950
MANAGER 2450 2975 2850
PRESIDENT 5000
SALESMAN 5600
decode(mo,2,decode(rownum,1,z1,2,z2...31,z31)),
decode(mo,3,decode(rownum,1,z1,2,z2...31,z31)),
...
decode(mo,12,decode(rownum,1,z1,2,z2...31,z31))
from dz;
select rownum,sum(decode(mo,1,decode(rownum,1,z1,2,z2...31,z31))),
sum(decode(mo,2,decode(rownum,1,z1,2,z2...31,z31))),
sum(decode(mo,3,decode(rownum,1,z1,2,z2...31,z31))),
...
sum(decode(mo,12,decode(rownum,1,z1,2,z2...31,z31)))
from dz group by mo;
站码 日期 平均水位
较为合理吧?!另外,楼主如果用Developer,这问题就好办了。
用矩阵报表就可以了。