日期:2014-05-17  浏览次数:20800 次

菜鸟求一道ORACLE题。内详
有两张表T4,T5

SQL>   select   *   from   t4;

MONEY_TIME           WEEK
--------------   ----
01-1月   -07           一
02-1月   -07           二
03-1月   -07           三
04-1月   -07           四
05-1月   -07           五
06-1月   -07           六
07-1月   -07           七
08-1月   -07           一
09-1月   -07           二
10-1月   -07           三
11-1月   -07           四

MONEY_TIME           WEEK
--------------   ----
12-1月   -07           五
13-1月   -07           六
14-1月   -07           七

已选择14行。

SQL>   select   *   from   t5;

MONEY_TIME                     MONEY
--------------   ----------
01-1月   -07                         100
01-1月   -07                         200
02-1月   -07                         200
03-1月   -07                         200
04-1月   -07                         350
07-1月   -07                         110
09-1月   -07                         800
10-1月   -07                       4000
11-1月   -07                         250
12-1月   -07                       1110
18-1月   -07                       1400

MONEY_TIME                     MONEY
--------------   ----------
22-1月   -07                       6000
30-1月   -07                         600
31-1月   -07                         400

已选择14行。

要求有以下几点.
输出一个月来资金流动情况,money_time,week,money3个字段.如果当日没有交易.则MONEY处输入0,一天有多比交易.T4,T5这两个表都是不全的.所以还要把表里没有的日期也加进去.
最后得到表应该是
money_time     week             money
1~~31号           1~7循环         有就写入.没就填0

各位大哥帮忙啊.小弟跪谢.


------解决方案--------------------
给你举个例子: 如果这个月是统计2007-01的数据的话:

=========================sql================================

select mydate,to_char(mydate-1, 'D '),sum(nvl(t5.money,0))
from T4,
t5,