求助,表内数据加与删
例如
表内数据
品名 区分 数量
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*/