我有两个表,基本结构如下: 表1: | 表2:
|
部门ID 部门名称 | 执行部门ID 完成数 执行时间
|
00001 大队 | 00003 1 2004-12-31
00002 中队 |
00003 小队 |
我要的结果是:(在 2004-12-01 至 2004-12-31 这一个月内的结果集) 部门名称 完成数 大队 0
中队 0
小队 1select A.部门名称,B.完成数 from 表1 A, 表2 B where A.部门ID = B.执行部门ID
and B.执行时间 >'2004-12-01 ' and B.执行时间 <'2004-12-31 ';
|
部门ID 部门名称 | 执行部门ID 完成数 执行时间
|
00001 大队 | 00003 1 2004-12-31
00002 中队 |
00003 小队 |
我要的结果是:(在 2004-12-01 至 2004-12-31 这一个月内的结果集) 部门名称 完成数 大队 0
中队 0
小队 1select A.部门名称,B.完成数 from 表1 A, 表2 B where A.部门ID = B.执行部门ID
and B.执行时间 >'2004-12-01 ' and B.执行时间 <'2004-12-31 ';
解决方案 »
- oracle字符集(急),pl/sql显示问号
- dbms_sql错误
- 求救,用oracle sqlloade导数据| 1,000.00|这样一个字段,其中,号怎么处理
- 求一段简单的SQL语句!
- 如何用C#对oracle中的数据进行增,删,和读取?只剩下10分了。
- 如何取得SQL语句。
- oracle安装时总是报没有主机IP地址?单机能装oracle吗?
- oracle官方主页为什么提供数据库下载?
- 每天执行完整备份,导出文件为d:\bk月日.dmp
- EXECUTE IMMEDIATE问题,想请教各位
- 在操作系统启动的时候不启动Oracle,因为检测很慢,怎么做?
- 哪种情况下用触发器的before,什么时候用after比较合适?
and B.执行时间 >'2004-12-01 ' and B.执行时间 <'2004-12-31 ';
from a,b
where a.id=b.id(+)
group by a.部门名称
from a,(select *
from b
where b.执行时间>to_date('2004-11-30','yyyy-mm-dd')
and b.执行时间<to_date('2005-01-01','yyyy-mm-dd')) c
where a.id=c.id(+)
group by a.部门名称
唉!
我再试一次吧!
big 0
mid 0
small 6难道不是这样的么?
---------- --------
1 大队
2 中队
3 小队SQL> select * from t_2; ID WCS SJ
---------- ---------- ----------
3 1 31-12月-04SQL> select t1.mc 执行部门ID,sum(nvl(tt2.wcs,0)) 完成数
2 from t_1 t1,(select t1.mc,t2.id,t2.wcs,t2.sj from t_1 t1,t_2 t2 where t1.id=t2.id(+) and (t2.sj between to_date('2004-12-01','yyyy-mm-dd') and to_date('2004-12-31','yyyy-mm-dd'))) tt2
3 where t1.id=tt2.id(+)
4 group by t1.mc;执行部门 完成数
-------- -------------------
大队 0
小队 1
中队 0SQL>
多多看下SQL的语句,不要动不动就用"比较难的SQL语句"这类题目,会吓坏别人的!