資料表有一筆張三1 10000資料是錯的
我要將張三 2 num加總後變成下表
Sql 如何下:
原資料表
name type num
張三 2 100
張三 1 10000
張三 2 50
李四 1 160
王五 1 170
更新後
name type num
張三 1 150
李四 1 160
王五 1 170
**UPDATE 張三 1**
UPDATE 資料表
SET NUM=(SELECT SUM(NUM) FROM 資料表 WHERE NAME = '張三' AND TYPE = '2')
WHERE NAME = '張三' AND TYPE = '1' ;
**DELETE 張三 2 **
DELETE FROM 資料表
WHERE NAME = '張三' AND TYPE = '2';
我會這樣
1.先將要的資料建立到另外一個Table,然後將資料先進行比對
create table A_Table as
select name,
'1',
sum(num)
from 原資料表
where 1=1
and (name <>'張三' and type <>'1')
group by name
2.資料若沒問題
1.先備份原資料表
create table as 資料表_bk
select *
from 原資料表
2.刪除原資料表資料
delete 原資料;
3.將資料倒進來
insert into 原資料表
select *
from A_Table
4.drop table A_Table
小小參考,希望對你有幫助