iT邦幫忙

0

sql資料錯誤如何更新

  • 分享至 

  • xImage

資料表有一筆張三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

外獅佬 iT邦大師 1 級 ‧ 2014-12-25 13:59:14 檢舉
use yourdatabase;
truncate table yourtable;
insert into yourtable (name,type,num) values('張三',1,150);
insert into yourtable (name,type,num) values('李四',1,160);
insert into yourtable (name,type,num) values('王五',1,170);
10000那筆錯誤就直接刪除
然後再重新SUM過即可
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

4
bee78726
iT邦新手 3 級 ‧ 2014-12-24 12:18:34

**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';

0
shengfu
iT邦新手 2 級 ‧ 2014-12-25 08:25:52

我會這樣

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

小小參考,希望對你有幫助

我要發表回答

立即登入回答