表内 合并数据,求助啊,

qq_15557291 2015-10-15 10:13:49
同一张表内合并数据,字段fgs为长春的和字段fgs为北京的数据合并,合并后的字段rcksl的数据怎么不是对应合并的两列数据之和,而全是-1呢????,求助啊,怎么改呀。。代码如下:分四步执行。
--First Step
ALTER table [Forecast].[dbo].[出库明细2015年8月-test] add comp varchar(50)

--Second Step
update [Forecast].[dbo].[出库明细2015年8月-test] set fgs='沈阳', comp ='长春'
where fgs ='长春'

--Third Step
update t1 set t1.rcksl=t2.rcksl
from [Forecast].[dbo].[出库明细2015年8月-test] t1
inner join (
select srrq
,jyglzx
,fgs
,fl
,lb
,fx
,gx
,gc
,wldm
,pname
,SUM(rcksl) rcksl from [Forecast].[dbo].[出库明细2015年8月-test]
group by srrq,jyglzx,fgs,fl,lb,fx,gx,gc,wldm,pname,F12
,F12
) t2
on t1.fgs=t2.fgs
where t1.fgs='沈阳'

--Fourth Step
DELETE FROM [Forecast].[dbo].[出库明细2015年8月-test] WHERE comp='长春'

--Fifth Step
ALTER table [Forecast].[dbo].[出库明细2015年8月-test] drop column comp varchar(50)
...全文
45 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_15557291 2015-10-15
引用 1 楼 fredrickhu 的回复:
建议给点数据来测一测。 另外 为什么不把语句写在一起呢?
测试数据如下: srrq ,jyglzx ,fgs, fl, lb, fx, gx, gc, wldm, pname, rcksl F12 08-01 华北 北京 液晶 LCD 25 32LED 2081 CH5005615 32D2000n -1 NULL 08-01 华北 北京 液晶 LCD 35 42-3D 2081 CH5003344 UD42B6000iD -1 NULL 08-01 华北 沈阳 液晶 LCD 35 42-3D 2081 CH5004292 UD42C6080iD -1 NULL 08-01 华北 北京 液晶 LCD 11 42LED 2081 CH5004287 LED42B2080n -1 NULL 目的:现在需要把所有的沈阳改为北京,并且把原沈阳对应的数据和北京的对应数据合并,合并原则是:合并表中除了gc字段外其他字段的数据若一致,则合并,把两条数据的字段 rcksl 的值相加。 各位大神,求助啊,
回复
--小F-- 2015-10-15
建议给点数据来测一测。 另外 为什么不把语句写在一起呢?
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-10-15 10:13
社区公告
暂无公告