首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

,表内数据加与删

2013-01-11 
求助,表内数据加与删例如 表内数据品名区分数量AA0100AA1200XY0100XY1300突然发现,根本没有 1 这个区分现

求助,表内数据加与删
例如 
表内数据
品名   区分  数量
AA      0     100
AA      1     200
XY      0     100
XY      1     300

突然发现,根本没有 1 这个区分  现在想把区分为1的数据删掉的同时 
把区分为1的数量 加到品名相同且区分为0的数量上
最终数据希望变成
品名   区分  数量
AA      0     300
XY      0     400

在先等,
谢谢。
[解决办法]
update TB set 数量=数量+b.数量
from TB as a inner join (select 品名,数量 from TB where 区分=1) as b on a.品名=b.品名
where  区分=0

delete from TB where  区分=1
[解决办法]

if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (品名 nvarchar(4),区分 int,数量 int)
insert into [TB]
select 'AA',0,100 union all
select 'AA',1,200 union all
select 'XY',0,100 union all
select 'XY',1,300

select * from [TB]

BEGIN TRAN D1

UPDATE dbo.TB
SET TB.数量 = TB.数量 + B.数量
FROM (SELECT 品名,SUM(数量) AS 数量 FROM TB WHERE 区分 = 1 GROUP BY 品名 )B
WHERE B.品名 = TB.品名
and TB.区分 = 0

DELETE FROM TB WHERE 区分 = 1

SELECT * FROM dbo.TB

COMMIT TRAN D1

/*
AA0300
XY0400*/

热点排行