可以,不过要用子查询嵌套,基本上都是用统计函数如sum等。
解决方案 »
- 来优化一下
- 时间转变问题
- 如何在没有oracle11g的环境连接oracle11g数据库
- 存储过程:定义枚举数值,判断是否存在字段名然后遍历相加,返回。
- 物化视图怎么停掉?
- 请问登录SQL Plus 时的口令跟登录enterprise manager console(通过oracle management server)时的口令是不是应该是一样的?
- 如何将视图授权给用户?
- 如何导出生成表的sql语句?
- Rapid SQL 7.1.0(build1927) 注册机或者注册码提供,二百分
- 9i数据插入11g报ora-00904标注符无效,急!!!
- 小弟明天考oracle,弄到复习题,不会!!!哪位大侠相救?100分送上
- 新手求救关于建表的语法
(如果一个时间段是 2004-1-5 至 204-1-17 的话) (一个时间段)(全部时间) (一个时间段)(全部时间) (一个时间段)(全部时间)
BuMen Money(实际交) Money(实际交) Money(应该交) Money(应该交) Money(未交) Money(未交)教务处 1900 1900 3000 3000 1100 1100校长室 1400 1400 3500 3500 2100 2100年级组 0 1100 0 3400 0 2300大概是这个样子!
为了让大家看清楚,我上面的表已经简化拉!
我等了好久了!大侠们快来啊!
(select All实际交,all未交,BuMen ,BuMenID from (select BuMenID,sum(Money(实际交)) All实际交, sum(Money(应该交)-Money(实际交)) all未交 from 表1 group by BuMenID) All表1 ,BuMen from All表1,表2 where All表1.BuMenID=表2.BuMenID) all,(
select sub实际交,sub未交,BuMen ,BuMenID from (select BuMenID,sum(Money(实际交)) sub实际交, sum(Money(应该交)-Money(实际交)) sub未交 from 表1 where time>a and time<b group by BuMenID) sub表1 ,BuMen from sub表1,表2 where All表1.BuMenID=表2.BuMenID) sub
where all.BuMenID=sub.BuMenID就差不多了
|
1000 800 430009 2004-1-5 | 430009 教??
2000 1300 430009 2004-1-8 | 430009 教??
1800 500 430011 2004-1-9 | 430011 校?室
1700 900 430011 2004-1-12 | 430011 校?室
1500 1100 430010 2004-1-17 | 430010 年??
1900 0 430010 2004-1-19 | 430010 年??我要的?果是:BuMen Money(1) Money(1) Money(2) Money(2) Money(3) Money(3)
部?名 (一个??段) (全部) (一个??段) (全部) (一个??段) (全部)SELECT t.bumen bumen,
SUM(t.money1) money1,
t1.money1_t1 money1_total,
SUM(t.money2) money2,
t1.money2_t1 money2_total,
SUM(t.money1+money2) money3,
t1.money3_t1 money3_total
FROM TABLE t,
(SELECT sum(money1) money1_t1,
sum(money2) money2_t1,
sum(money1+money2) money3_t1,
bumenid bumenid_t1
FROM TABLE
GROUP BY bumen) t1
WHERE t.time BETWEEN (:parametertime1 AND :parametertime2)
AND t.bumenid = t1.bumenid
GROUP BY t.bumen,
t1.money1_t1,
t1.money2_t1,
t1.money3_t1上面的‘?’因为我是日文系统 不能正常显示by http://www.tt-style.com/bbs/index.htm
|
1000 800 430009 2004-1-5 | 430009 教??
2000 1300 430009 2004-1-8 | 430009 教??
1800 500 430011 2004-1-9 | 430011 校?室
1700 900 430011 2004-1-12 | 430011 校?室
1500 1100 430010 2004-1-17 | 430010 年??
1900 0 430010 2004-1-19 | 430010 年??我要的?果是:BuMen Money(1) Money(1) Money(2) Money(2) Money(3) Money(3)
部?名 (一个??段) (全部) (一个??段) (全部) (一个??段) (全部)select t.bumen,
nvl(t2.money1,0),
t.money1_t,
nvl(t2.money2,0),
t.money2_t,
nvl(t2.money3,0),
t.money3_t
from (SELECT sum(money1) money1_t,
sum(money2) money2_t,
sum(money1-money2) money3_t,
bumenid bumenid_t,
bumen bumen_t
FROM TABLE
GROUP BY bumenid,
bumen) t,
(SELECT t.bumenid bumenid,
t.bumen bumen,
SUM(t.money1) money1,
SUM(t.money2) money2,
SUM(t.money1-money2) money3,
FROM TABLE t
WHERE t.time BETWEEN (:parametertime1 AND :parametertime2)
GROUP BY t.bumenid,
t.bumen) t2
where t2.bumenid(+) = t.bumenidhttp://www.tt-style.com/bbs/index.htm