注册 登录
编程论坛 SQL Server论坛

新手建表求帮助!

小熊温顺 发布于 2012-09-03 15:46, 445 次点击
题目是建立一个表A(NEW_BUF_IAS_CWGK_ZBSUJU),列分别为日期,单位号码,项目号码,本月值,本月累计值,上月值,去年同期值,去年同期累计值(表我建好了,顺序对应)。

现存在表B(BUF_IAS_CWGK_ZBSUJU),列分别为年,月,单位号码,项目号码,X(X=3为当前值,X=4时为累计值),本月值(year_,  month_,  dwdm_,  zbdm_,  zblxz_dm_,  zb_money_)。

建表:  

CREATE TABLE NEW_BUF_IAS_CWGK_ZBSUJU
(
          NEWDATE  char(6),
          DWDM char(2),
          ZBDM char(4),
          TOT_MONEY numeric(14,2),
          AD_MONEY numeric(14,2),
          LASTMOUTH_MONEY numeric(14,2),
          LASTYEAR_MONEY numeric(14,2),
          AD_LASTYEAR_MONEY numeric(14,2),
           primary key(NEWDATE,DWDM,ZBDM)

)
这没什么问题。

插入前4项数据:

insert into NEW_BUF_IAS_CWGK_ZBSUJU(NEWDATE,DWDM, ZBDM, TOT_MONEY)
           select replace(year_||to_char(month_,'00'),' ',''),dwdm_,zbdm_,zb_money_ from BUF_IAS_CWGK_ZBSUJU where zblxz_dm_ = '3'

这也没什么问题,补充说明一下,年和月合并的时候不知道为什么中间出现了个空格,所以用了replace去掉空格。

插入本年累计值:

update NEW_BUF_IAS_CWGK_ZBSUJU a set a.ad_money=(select b.zb_money_ from BUF_IAS_CWGK_ZBSUJU b
        where a.dwdm=b.dwdm_ and a.zbdm=b.zbdm_ and a.newdate=replace(b.year_||to_char(b.month_,'00'),' ','') and b.zblxz_dm_='4')

有问题,不知道为什么,有些列不显示,只更新了一部分。求解答。


插入上月值,去年同期值,去年同期累计值:


完全下不了手了,给的提示是lookup,当然,不用也可以。只要能做出来。。。。求解答。


PS:就剩10分了,各位大神行行好,耽误你5分钟,码上几行代码吧。

[ 本帖最后由 小熊温顺 于 2012-9-3 15:49 编辑 ]
2 回复
#2
netlin2012-09-06 14:10
好象见过跟这个问题类似的问题。
楼主,你发一些“现存在表B”的数据,我帮你写一个代码,再调试一下!
1