救命!!!!!!

[复制链接]
查看11 | 回复6 | 2005-5-23 01:01:21 | 显示全部楼层 |阅读模式
这样一个问题:
某一个表A
 A:
Id YMPrice
1200501 1000
2200501
100
3200502 500
4200502 30
问题 :
找到ym在200410 到200504月期间,所有price的和
结果如下
YM SUM
2004100
2004110
2004120
2005011100
200502800
2005030
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
select sum(price) as price,ym from usertable where ym between
:ym_f a dn :ym_t group by ym
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
这个不能显示出来结果的。没有的月份也要补上
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
我想可以另外新建一个年月表来关联:
年月表table:ym
一个字段:month
select to_char(t.month,'yymm') aa,sum(b) bb
from test2 t
group by to_char(t.month,'yymm')
having to_char(t.month,'yymm') ='0101'
union
select distinct ym.month aa,0 bb
from ym,test2 t
where
ym.month not in (select to_char(t.month,'yymm') from t)
应该可以的!
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
哦,补充一下。最后应该加上一句:
andym.month>='0101' and ym.month<='0302'
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
不可以新建立一个表。因为。我实在asp端开发程序
不能改动数据库啊。。。。55
回复

使用道具 举报

千问 | 2005-5-23 01:01:21 | 显示全部楼层
需要把没有的月份也要显示出来的话,不重新建立一张日期表的话可能有一定的难度。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行