解决方案 »
- 一些Oracle 脚本语句的问题
- 排序选定SQL问题请教
- PLW-07203: 使用 NOCOPY 编译器提示可能对参数 'NAME' 有所帮助
- pL/sql存储过程简单编写问题
- 这样设计系统可以么?
- oracle 10g 的group by是不是和以前的不一样了?
- oracle90的8080端口和tomcat冲突,怎样关掉orcale90的8080短口?
- pl/sql 函数问题
- 为什么OracleOraHome81ManagementServer没有自动启动?
- ocijdbc8.dll 那儿可以找到下载。。。?+++在线等等
- Oracle 10.1.0.5.0 的一个bug?
- 菜鸟求助存储过程UPDATE问题
DEPT_ID DECLNO DEPT_NAME PAYDATE
------- --------------- --------- -----------
1001 380000205000165 轻纺 2010-5-23
1002 化矿 2010-5-23
1003 380000205000165 机电 2010-5-23
SQL>
SQL> SELECT extract(DAY FROM a.paydate) everyday, COUNT(DECLNO), a.dept_id
2 FROM tt,
3 (SELECT *
4 FROM (SELECT DISTINCT DEPT_ID FROM tt),
5 (SELECT LEVEL + DATE '2010-05-22' - 1 PAYDATE
6 FROM dual
7 CONNECT BY LEVEL <= DATE '2010-05-25' - DATE '2010-05-22' + 1)) a
8 WHERE a.DEPT_ID = tt.DEPT_ID(+)
9 AND a.PAYDATE = tt.PAYDATE(+)
10 GROUP BY a.dept_id, extract(DAY FROM a.paydate)
11 ORDER BY extract(DAY FROM a.paydate), a.dept_id;
EVERYDAY COUNT(DECLNO) DEPT_ID
---------- ------------- -------
22 0 1001
22 0 1002
22 0 1003
23 1 1001
23 0 1002
23 1 1003
24 0 1001
24 0 1002
24 0 1003
25 0 1001
25 0 1002
25 0 1003
12 rows selected
SQL>
结果集tt中,没有发生业务的部门对应的paydate也是空的,另外,部门的id可能不练习