关于SQL更新追加汇总的问题!有解否?

[复制链接]
查看11 | 回复2 | 2011-11-1 16:20:28 | 显示全部楼层 |阅读模式
请教各位大仙!我有一问题百思不得其解:
两个表,一是交易明细表,其中字段为
客户号产品日期金额导出
11 2008-10-11 (Y/N)
11 2008-10-22(Y/N)
12 2008-10-35(Y/N)
21 2008-10-110 (Y/N)
21 2008-11-120 (Y/N)
按整月导出到另一张表票据基础表中,用于总额开票确认,要求是将客户、产品、月份、金额同类合并,并在明细表中导出加true标识
结果应如下:
客户号 产品 日期 金额
11 2008-103
12 2008-10 5
21 2008-10 10
21 2008-11 20
我现在写的SQL语句是
update F票据基础表
set 金额 = F交易表.金额
from (select 客户号, 交易日期, sum(金额)as 金额 from F交易表 group by 客户号, 交易日期)AS F交易表 , F票据基础表
where F交易表.客户号 = F票据基础表.客户号
请大仙帮修改一下,不要伤了初学者的心啊!


回复

使用道具 举报

千问 | 2011-11-1 16:20:28 | 显示全部楼层
存在的相加,不存在的插入
回复

使用道具 举报

千问 | 2011-11-1 16:20:28 | 显示全部楼层
经过一天的思考,想出如下代码,解决了一部分问题,即按客户号,业务类型,交易日期的合并更新,但又有新问题,F票据基础表下的日期为smalldatetime 更新后就变为1900-1-2的显示了,还有高手否?
DELETE F票据基础表 from F交易表 where F交易表.客户号 in (select 客户号 from F交易表)
insert into F票据基础表 (客户号,日期,产品号,金额)select 客户号, month(交易日期), 业务类型,sum(金额)as 金额 from F交易表 group by F交易表.客户号, 业务类型, month(交易日期)
update F交易表 set 导出=1
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行